CakePHPを勉強した際の知識メモ
cakephp
2
PHP
90
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
White
1 0
CakePHP vs Node.js : Which one to choose for web application development? PHP came into limelight after internet took centerstage in the early 200...
Leena joseph viết hơn 2 năm trước
1 0
{{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á!