コントローラーとビューテンプレートとレイアウトとエレメント

すーぐわからなくなるので整理

 

  • コントローラー

指定されたアドレスにアクセスした際に実行する処理

 

例えば

  • initialize()
  1. レイアウトの指定(何も記述しないとdefault.ctpが適応される)
  2. setメソッドでエレメントにキーと値を送る
  3. autolayout
  • それぞれのアクションに対しての制御
  • ビューテンプレート

コントローラーのアクションに対応

個別のページごとの内容を書くのがここ???

  • レイアウト

レイアウトの設定をする(迫真)

骨組みを設定しておいて内容の記述はエレメント書いて呼び出すようにしておくと編集したり使い回しがしやすそう

 

  • head

<?= $this -> charset();?>

<?= $this -> Html -> css('CSSファイル'); ?>

scriptファイルも同様に

  • body

div やらでレイアウトを記述しとく

あとはエレメントに任せる

  • 引数ない場合

<?= $this -> element(folder\element.ctp) ?>

  • 引数ある場合

<?= $this -> element(folder\element.ctp, ['キー(Controllerに書いたやつ)' => $変数]) ?>

あとコントローラーのinitialize() にsetメソッド書いとく

 

  • エレメント

レイアウトに内容書かずにヘッダーとか、ぼでぃとかの部分ごとに編集したい場合に使用

 

メモってて分からなくなったので後修正

コントローラーからビューへ値を渡す

参考

コントローラーとビュー(3/6):初心者のためのCakePHP3 プログラミング入門

  • コントローラー側の処理

Setメソッドでビューテンプレートに渡す値の設定

$this->set( 変数名(Controller側で宣言) , 値 );

第一引数:ビューテンプレート側で使用

第二引数:代入する値を指定

 

  • ビュー側の処理

tttttahiti.hatenablog.com

<?= "〜" ?>は<?php echo"〜" ?> の省略形

 

ビュー側は<?=  ?> を利用して用意された変数を出力する。

 

  1. コントローラー側で変数に入れたい値を指定しておく。

  2. ビュー側でページのレイアウトと、コントローラー側のもある変数に対応した変数を配置する。

Composer update できない時の対策

qiita.com

より抜粋

php.iniの編集 (intlの拡張機能設定)

フィアルの場所
c:¥xampp¥php¥php.ini
// セミコロンを削除

¥xampp¥php¥php.ini
;extension=php_intl.dll

// 追記もしくは変更

¥xampp¥php¥php.ini
[intl]
intl.default_locale = en_utf8
intl.error_level = E_WARNING

なおまだエラー出る場合、もう一度omposr install を行う

 

PHPStormでのDB設定

 

プロジェクト名/config/app.php  への設定

Datasources で検索 設定の変更(DBは事前に作成しておく)

 

・データベース内容の確認方法

phpmyadminへの接続  http://localhost:[ポート番号]/phpmyadmin/

 

メニュー → view → Toolwindow → DataBases 

データベースの設定はapp.phpの内容を確認すること