CakePHPを勉強した際の知識メモ
cakephp
3
PHP
95
White

Nguyen Hoang Vu viết ngày 09/07/2019

はじめに

CakePHPの勉強間のメモです。

インストール

インストールする必要なもの:

  • HTTP server
    • 例えば: apache
  • PHP
    • Version 5.6.0 以上
  • MySQL (他の database engines でもいい)
    • Version 5.5.3 以上
  • Composer
    • Composer はPHP用の依存ライブラリ管理アプリです。
    • Composerをインストールする際、上記インストールしたPHPディレクトリを選ぶことに注意する。

CakePHPプロジェクト作成

composer create-project のコマンドで下記のようにCakePHPプロジェクトを作成する:

composer create-project --prefer-dist cakephp/app my_app_name

プロジェクトを動かす

プロジェクトディレクトリへ移動.

cd my_app_name

http://localhost:8765 のローカルサーバーへデプロイ:

bin/cake server

あるいは:

bin/cake server -H host_name -p port_name

検証用のURL: http://host_name:port_name

プロジェクト概要

CakePHPプロジェクトのディレクトリ階層:

my_app_name   
├─bin     
├─config  
├─logs    
├─plugins 
├─src     
├─tests   
├─tmp     
├─vendor  
└─webroot 

とりあえず下記の必要なディレクトリに記入する:

  • bin
    • 実行用のファイル (executables)
  • config
    • ウエブアプリの設定ファイルを含む。 routes, databases...
  • src
    • アプリのメインソースコードを含む。 models, views, controllers...

アプリの main ファイル (cake.php)

どんなアプリでも main というスタート点のファイルがあります。そこから色んな事を呼び出して要求による機能が実施出来ます. CakePHPにおいてその main ファイルは bin/cake.php です。
上記のプロジェクトを実行するコマンドに戻し:

bin/cake server

基本的に言うと、 cake.php という main ファイルを実行するためな bash ファイルを実行したことです。その cake.php ファイルは、主に下記のようです:

<?php
// ... something

$runner = new CommandRunner(new Application(dirname(__DIR__) . '/config'), 'cake');
exit($runner->run($argv));

彼らの役割は CommandRunner (何か走るもの) を class Application から ( src/Application.php を代表とするもの) 登録して config を設定ファイルとします。Application と config の詳しくは下記です。

ウエブアプリの代表クラス (Application.php)

CakePHPウエブアプリの心です。 config, routes をインストールするとか middlewares, plugins をくみたてるとか。
Application は一般的に src/Application.php ファイルで実装して内容は主に下記のようです。

namespace App;

use ...;

class Application extends BaseApplication
{
    public function bootstrap()
    {
        // ...
    }
    public function routes()
    {
        // ...
    }
    public function middleware()
    {
        // ...
    }
    protected function console()
    {
        // ...
    }
}

主に含まれる関数:

  • bootstrap
    • config ファイルのロードや constant 及び global func の定義など。
    • デフォルトで config/bootstrap.php からインポートして pluginslisteners をロードします。
  • routes
    • ウエブアプリ用の routes を登録するところ。 例えば、 request path /hoge/view は何のコントローラーで処理するかなど。
  • middleware
    • ウエブアプリ用のmiddlewareを追加する。例えば、 ErrorHandlerMiddleware, LocaleSelectorMiddleware など。
  • console
    • アプリ用の console commands を追加する場所です。

Applicationの設定部分 ( config )

一般的に config ディレクトリに配置する。ウエブアプリの設定やコンフィグ定義などを含むものです。 Application の関数を通じて呼び出されます。
主に下記のファイルがある:

  • app.php (app.default.php)
    • database, asset, cache, log ... の定義です。
  • bootstrap.php
    • デフォルトで Application のbootstrap関数から呼び出してpluginsやevent listeners を登録します。
  • paths.php
    • よく使われるconstantやパスなどを定義する。
  • requirements.php
    • ウエブアプリの制限などを定義する。例えば、 PHP_VERSION ...
  • routes.php
    • ウエブアプリ用の routes を登録する。

結論

この記事は、ただCakePHPプロジェクトの一番基本な知識を記載しました。
MVC, hay các Plugins, Middlewareなどの残り部分は開発する際に直接に調べた方がいいです。
MVC 一般的なウエブフレームワークだから、他のPHPフレームワークと違う点は多くないかと思います。
また Plugins 及び Middleware はユースケースによってアプリに追加する方が一番楽だと思っています。

Regard!!!

参考のドキュメント

https://book.cakephp.org/3.0/en/index.html

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Nguyen Hoang Vu

1 bài viết.
0 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Bài viết liên quan
Male avatar
1 2
First things first Yeah, lại là mình đây, Minh Monmen trong vai trò chàng trai buôn chuối rảnh rỗi ngồi viết lách linh tinh. Sau khi thu thập được...
Seven viết 29 ngày trước
1 2
White
4 2
Bash script to fast serve Laravel project Lười gõ dòng lệnh quá nên tạo ra cái script để gõ nhanh :D laravelstart.sh /bin/bash if z "$1" ] ...
Vũ Hoàng Chung viết gần 3 năm trước
4 2
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
1 bài viết.
0 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!