cakephp チュートリアル
cakephpを使い始める
サーチ…
備考
このセクションでは、cakephpの概要と、なぜ開発者がそれを使いたいのかを概説します。
また、cakephp内の大きなテーマについても言及し、関連するトピックにリンクする必要があります。 cakephpのドキュメンテーションは新しいので、それらの関連トピックの初期バージョンを作成する必要があるかもしれません。
バージョン
| バージョン | 発売日 |
|---|---|
| 1.2.0 | 2008年12月26日 |
| 1.3.0 | 2010-04-25 |
| 2.0.0 | 2011年10月17日 |
| 3.0.0 | 2015-03-22 |
インストールまたはセットアップ
要件
次の設定ガイドは、cakephp 2.8以上のものです。 cakephpのバージョンが2.8より小さい場合は、php 7と互換性がありません
HTTPサーバー。たとえば、Apache。 mod_rewriteを使用することをお勧めしますが、決して必要はありません。
- PHP 5.5.9以上(PHP 7を含む)
- mbstring PHP拡張モジュール
- PHP拡張モジュール
注意! XAMPPとWAMPの両方で、mbstring拡張機能はデフォルトで動作しています。 XAMPPでは、intl拡張が含まれていますが、php.iniでextension = php_intl.dllのコメントを外し、XAMPPコントロールパネルからサーバーを再起動する必要があります。 WAMPでは、intl拡張子はデフォルトで「有効化」されていますが、機能しません。それを動作させるには、C:\ wamp \ bin \ php \ php {version}にあるphpフォルダに移動して、icu * .dllのように見えるすべてのファイルをコピーし、Apacheのbinディレクトリに貼り付けてください。C: \ wamp \ bin \ apache \ apache {version} \ binにあります。その後、すべてのサービスを再起動するとOKになります。
データベースエンジンは必須ではありませんが、ほとんどのアプリケーションでデータベースエンジンを使用すると考えられます。 CakePHPは、さまざまなデータベースストレージエンジンをサポートしています。
- MySQL(5.1.10以上)
- PostgreSQL
- Microsoft SQL Server(2008またはそれ以降)
- SQLite 3
CakePHP3のフォルダ構造
ダウンロードした後は、次のファイルとフォルダが表示されます。
- binフォルダには、Cakeコンソールの実行ファイルが格納されます。
- configフォルダには、CakePHPが使用する設定ファイルが格納されています。データベース接続の詳細、ブートストラップ、コア構成ファイルなどがここに格納されます。
- pluginsフォルダは、アプリケーションが使用するプラグインが格納されている場所です。
- 通常、 logsフォルダにはログ設定が含まれています。
- srcフォルダは、アプリケーションのファイルが置かれる場所です。
- テストフォルダは、アプリケーションのテストケースを配置する場所です。
- tmpフォルダは、CakePHPが一時的なデータを格納する場所です。実際に保存されるデータは、CakePHPの設定方法によって異なりますが、通常、このフォルダはモデル記述やセッション情報を格納するために使用されます。
- ベンダのフォルダは、CakePHPと他のアプリケーションの依存関係がインストールされる場所です。このフォルダ内のファイルを編集しないという個人的な約束をしてください。
- Webrootディレクトリは、アプリケーションのパブリックなドキュメントルートです。それは、公開可能にしたいすべてのファイルを含んでいます。
tmpとlogsフォルダが存在し、書き込み可能であることを確認してください。そうしないと、アプリケーションのパフォーマンスに重大な影響があります。デバッグモードでは、CakePHPはあなたに警告します(そうでない場合)。
srcフォルダ内
CakePHPのsrcフォルダは、アプリケーション開発の大部分を行います。
コンソールフォルダーには、アプリケーションのコンソールコマンドとコンソールタスクが含まれています。詳細については、シェル、タスク、およびコンソールツールを参照してください。
Controllerフォルダには、アプリケーションのコントローラとそのコンポーネントが含まれています。
Localeフォルダには、国際化用の文字列ファイルが格納されます。
Modelフォルダには、アプリケーションのテーブル、エンティティ、および動作が含まれます。
ビュー - プレゼンテーションクラスは、セル、ヘルパー、およびテンプレートファイルに配置されます。
テンプレート - プレゼンテーションファイルは、要素、エラーページ、レイアウト、およびビューテンプレートファイルに配置されます。
基本的な最初の空のプロジェクト
初期の作成とダウンロード (CakePHP 3.x)
新しいCakePHPプロジェクトを作成する最も簡単な方法は、Composerを経由する方法です(作者の詳細はこちらをご覧ください)
インストールコンポーザー
あなたがそれをインストールする必要があり、Windowsマシン上にある場合は、 このガイドに従ってください
Linux / Unix / OSXの場合は、 このガイドに従ってください
最初のCakePHPプロジェクトを作成する
コンソールウィンドウを開き、phpのインストールに移動します(デフォルトのxamppをインストールしたWindowsではC:\xampp\php )
空のプロジェクトを作成するには、次のコマンドを実行します。
php composer.phar create-project --prefer-dist cakephp/app name_of_your_project
ベーキング/モデル/ビュー/コントローラ
CakePHPの魔法はベーキングです - 基本的なCRUDオプションを備えたコントローラ、モデル、ビューコードの自動生成。
ベーキングの前に、データベース接続を設定する必要があります。これを行うには、プロジェクトのconfig/app.phpファイルを編集する必要があります。
'Datasources' => [
'default' => [
'className' => 'Cake\Database\Connection',
'driver' => 'Cake\Database\Driver\Mysql',
'persistent' => false,
'host' => 'localhost',
'username' => 'my_app', //in basic xampp: root
'password' => 'sekret', //in basic xampp: ''
'database' => 'my_app', //name of the database you want to connect to your project
'encoding' => 'utf8',
'timezone' => 'UTC',
'cacheMetadata' => true,
]
]、
データベースが正しく接続されている場合は、コンソールウィンドウでプロジェクトのルートフォルダにbin/cake bakeと入力します。
これは次のように出力されるはずです:
Welcome to CakePHP v3.1.6 Console
---------------------------------------------------------------
App : src
Path: /var/www/cakephp.dev/src/
PHP: 5.5.8
---------------------------------------------------------------
The following commands can be used to generate skeleton code for your application.
Available bake commands:
- all
- behavior
- cell
- component
- controller
- fixture
- form
- helper
- mailer
- migration
- migration_snapshot
- model
- plugin
- shell
- shell-helper
- template
- test
By using `cake bake [name]` you can invoke a specific bake task.
簡単にするために、デフォルト設定ですべてを焼きます。これを行うには入力してください
cake bake all
これらの行に沿って何かが出力されます:
Welcome to CakePHP v3.2.11 Console
---------------------------------------------------------------
App : src
Path: C:\xampp\htdocs\tipping\src\
PHP : 5.6.15
---------------------------------------------------------------
Bake All
---------------------------------------------------------------
Possible model names based on your database:
- users
- blogs
Run `cake bake all [name]` to generate skeleton files.
cake bake all <modelNameYouWantToBake>実行すると、 cake bake all <modelNameYouWantToBake>モデル、テーブル、コントローラ、フィクスチャ、およびビューファイルが作成されます。これをすべてのモデル名に対して実行し、基本的なCRUDオプションを備えた機能しているプロジェクトがあります。
今すぐあなたのブラウザを開いて、それがどのように見えるかを見て、自分のロジックでプロジェクトを拡張することができます
要件
1-HTTP Server. For example: Apache. Having mod_rewrite is preferred, but by no means required.
2-PHP 5.5.9 or greater (including PHP 7)
3-mbstring PHP extens ion
4-intl PHP extension
私は通常、linuxboxにApacheとMySQLのインストールを行います。私はウィンドウも使えますが、私はそれをお勧めしません;)だから、私は通常、/ etc / hostsファイルに新しいエントリを作成して、sitenameをcakephpで利用できるようにします。
127.0.0.1 localhost caketest.local
次のステップは、すべてのcakephpファイルを/ home / myusername / public_html / caketest内のサブディレクトリにコピーすることです
app
cake
index.php
plugins
README
vendors
.htaccess
私はapache(必要ではない)にサイトを設定し、
<VirtualHost *:80> DocumentRoot "/ home / myusername / public_html / caketest" ServerName caketest.local
#これは、本番環境では省略する必要があります。SetEnv APPLICATION_ENV開発
<Directory "/home/myusername/public_html/caketest">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
Apacheを再起動します。 .htaccessファイルを編集し、実際のディレクトリへのhteパスを持つRewriteBaseディレクティブを置く必要もあります。
RewriteBase /~myusername/caketest
データベースを作成し、ケーキ設定ファイルにdb接続を設定します。それだけです。ホストをスキップすることができるテストサイトのURL、およびApacheのvhostの作成をしたくない場合は、 http://caketest.localにブラウザを向けることができますが、使用するURLはhttp:/ localhost /〜myusername / caketest
もう一つの重要なことは、apacheでuserdir modulを有効にし、userdirでもphpを有効にしているかどうかを確認することです。
CakePHP 2.xの基本的な紹介
CakePHPのディレクトリ構造、各フォルダの意味について話します。
CakePHPにはいくつかのメインフォルダがあります
- app - アプリケーションのソースコードが含まれています。すべてのコードはこのディレクトリの下にあります。
- lib - これはcakephp core liberaryです。これは、すべての基本的なcakephpライブラリコードを含んでいます。 cakephpライブラリをアップグレードする際にエラーが発生する可能性があるため、このディレクトリ内のコードを編集することは推奨されていません。
- プラグイン - これは、アプリケーションに使用されるcakephpプラグインコードを含んでいます。
- ベンダ - これは外部コードを含んでいます、このコードはcakephpライブラリを使用しません。
- index.php - これはインデックスファイルです。
1つのプロジェクト内で複数のアプリケーションをホストすることができます。つまり、同じlibフォルダ、プラグイン、ベンダを使用することができます。
libコードを変更するには、アプリケーションフォルダ内でそれらを拡張し、変更を実行することをお勧めします。
プラグインとベンダーのフォルダは、同じディレクトリにあるすべてのアプリケーションで共有されます。
index.phpは、最初に呼び出されるファイルです。
