「 月別アーカイブ:2017年11月 」 一覧
-
CakePHP3 Ajax通信でコントローラーの途中で抜ける方法
2017/11/30 -コントローラー(Controller)
Ajax, autoRender, echo, json_encode, returnCakePHP3 Ajax通信でコントローラーの途中で抜ける方法の参考コードです。
12345678910111213public function index(){$this->autoRender = FALSE;$flg = true; // true or falseif (!$flg) {// Ajax戻り値echo json_encode(['status' => false, 'err_msg' => __('サーバーエラーが発生しました。')]);// ここで処理終了return;}}
-
CakePHP3 コントローラーでのtry-catch例外処理の参考コードです。
1234567891011121314151617181920212223use Cake\Core\Exception\Exception; // Exceptionクラスインポートclass UsersController extends AppController{public function index(){try {$flg = true; // true or falseif (!$flg) {throw new Exception(); // 例外エラー投げる}echo 'OK';} catch(Exception $e) {echo 'NG';}}}// 「$flg==true」の場合出力ログ: 'OK'// 「$flg==false」の場合出力ログ: 'NG'
-
2017/11/29 -コントローラー(Controller)
ConnectionManager, データ整合性, トランザクション処理, ロールバックCakePHP3 トランザクション(transaction)処理の流れです。 ※ 複数テーブル更新時などに使用(データ整合性を保つため) [crayon-6508fbc396e9d …
-
CakePHP3 コントローラーでステータスコードを設定する方法
2017/11/29 -コントローラー(Controller)
Forbidden, NotFound, ステータスコードCakePHP3 コントローラーでステータスコード(statusCode)を設定する方法です。
12345// 403 Forbidden$this->response->statusCode(403);// 404 Not Found$this->response->statusCode(404);
-
◯ free: メモリーの使用状況を表示 [-m 容量をMバイト単位]
12345# free -mtotal used free shared buffers cachedMem: 3830 525 3305 25 16 176-/+ buffers/cache: 331 3498Swap: 815 0 815◯ vmstat: メ …
-
2017/11/29 -PHP7
file_exists, mkdir, ディレクトリPHP7 ディレクトリが存在しなければディレクトリ作成する方法。
12345// ディレクトリが存在しなければディレクトリ作成する$target_path = '/var/www/html/cakephp3.com/logs/'.date('Ymd');if (!file_exists($target_path)) {mkdir($target_path);}
-
CakePHP3の基本ディレクトリ構成(インストール直後)です。
1234567891011121314151617181920├── bin -- 実行コマンド├── config -- 設定ファイル├── logs -- ログ出力├── plugins -- プラグイン├── src -- 開発│ ├── Console│ ├── Controller -- コントローラー│ │ └── Component -- コンポーネント│ ├── Model -- モデル│ │ ├── Behavior -- ビヘイビア│ │ ├── Entity -- エンティティ│ │ └── Table -- テーブル│ ├── Shell -- シェル│ ├── Template -- テンプレート│ └── View│ └── Helper -- ヘルパー├── tests -- テスト関連├── tmp -- テンポラリ├── vendor -- 外部ライブラリ└── webroot -- WEB公開
-
CakePHP3 Sessionの保存先をDBに変更する方法
CakePHP3 Sessionの保存先(php)をDBに変更する方法です。 ◯ セッション保存用のテーブル作成
123456CREATE TABLE sessions (id char(40) NOT NULL,data text,expires INT(11) NOT NULL,PRIMARY KEY (id)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;◯&nbs …
-
2017/11/29 -コントローラー(Controller)
destroy, getSession, read, session, writeCakePHP3 コントローラーでのセッション(session)の使い方です。
12345678910111213141516171819202122232425262728293031323334353637// ローカル変数にする$session = $this->request->getSession(); // CakePHP 3.5~$session = $this->request->session(); // CakePHP ~3.4// セッション書き込み$session->write('Config.language', 'ja');// セッション読み込み$session->read(); // 全て$session->read('Config.language'); // キー指定ex)var_dump($session->read()); // array('Config' => array('time' => int 1511915063 , 'language' => string 'ja'))var_dump($session->read('Config.language')); // 'ja'// セッション読み込み後に削除$session->consume('Config.language'); // キー指定ex)var_dump($session->read()); // array('Config' => array('time' => int 1511915063 , 'language' => string 'ja'))$session->consume('Config.language');var_dump($session->read()); // array('Config' => array('time' => int 1511915063))// セッション削除(キー指定)$session->delete('Config.language');// セッション破棄$session->destroy();// セッション存在確認(キー指定)$session->check('Config.language'); // 存在する: true, 存在しない: false
-
CakePHP3 ビューからエレメント(Element)に値渡す方法
2017/11/28 -ビュー(Template)
element, パラメーターアサインCakePHP3 ビューからエレメントに値渡す(パラメーターアサイン)方法です。 ※ エレメント(Element): 画面デザインのパーツを再利用できるように定義できる機能です。 [cray …
-
2017/11/28 -コントローラー(Controller)
compact, htmlspecialchars, set, パラメーターアサインCakePHP3 コントローラーからビューに値渡す(パラメーターアサイン)方法です。 ◯ コントローラー側(Controller)
12345$test = 'xxx@cakephp3.com';// パラメーターアサイン$this->set('test', $test);or$this->set(compact('test')); // compact: 文字列をキーとして同じ文字列の変数を使用◯ …
-
特定の文字列を含むファイルを見つける (find・xargs・grep)
個人的に非常によく使うLinuxコマンドです。 特定の文字列を含むファイルを見つける方法(find・xargs・grep)。
1find . -name "*" -type f | xargs grep "検索文字列"
-
CakePHP3 GETメソッドのクエリストリングを取得する方法
2017/11/28 -コントローラー(Controller)
Get, getQuery, クエリストリングCakePHP3 GETメソッドのクエリストリングを取得する方法です。
12// 検証URL例/users?email=xxx@cakephp3.com&password=xxx◯ 全クエリストリング取得 [crayon-6508fbc39 …
-
2017/11/28 -コントローラー(Controller)
TableRegistry, テーブルオブジェクト◯ CakePHP3 コントローラーでテーブルオブジェクトをロードする方法です。
1234567891011<?phpuse Cake\ORM\TableRegistry; // TableRegistryクラスをインポートclass AppController extends Controller{public function index(){// テーブルオブジェクトロード(usersテーブル)$obj_users = TableRegistry::get('users');}}
-
CakePHP3 DebugKitでSQLログを確認する方法
CakePHP3 DebugKitでSQLログと実行速度を確認にする方法。 ※ フッターバーにあるDebugKitの『Sql Log』をクリックすると、実行SQLと実行速度(Took[ms] …
-
2017/11/28 -CakePHP3
flash, テンプレート, フラッシュメッセージCakePHP3 デフォルトでフラッシュメッセージ用のテンプレートが3つ用意されています。
1234567891011121314151617181920212223242526272829303132333435// デフォルトテンプレートsrc/Template/Element/Flash/default.ctpsrc/Template/Element/Flash/error.ctpsrc/Template/Element/Flash/success.ctp// default.ctp# cat src/Template/Element/Flash/default.ctp<?php$class = 'message';if (!empty($params['class'])) {$class .= ' ' . $params['class'];}if (!isset($params['escape']) || $params['escape'] !== false) {$message = h($message);}?><div class="<?= h($class) ?>" onclick="this.classList.add('hidden');"><?= $message ?></div>// error.ctp# cat src/Template/Element/Flash/error.ctp<?phpif (!isset($params['escape']) || $params['escape'] !== false) {$message = h($message);}?><div class="message error" onclick="this.classList.add('hidden');"><?= $message ?></div>// success.ctp# cat src/Template/Element/Flash/success.ctp<?phpif (!isset($params['escape']) || $params['escape'] !== false) {$message = h($message);}?><div class="message success" onclick="this.classList.add('hidden')"><?= $message ?></div>◯ フラッシュメッセージ設定(コントローラ …
-
CakePHP3 Authコンポーネント利用時に公開するアクション設定
2017/11/28 -コントローラー(Controller)
allow, AuthコンポーネントCakePHP3 Authコンポーネント利用時に公開するアクションを設定する。 関連リンク: CakePHP3 Authコンポーネントでログイン・ログアウト機能 Authコンポーネントはデフ …