「 月別アーカイブ:2017年12月 」 一覧
-
CakePHP3 リンク切れチェックツールのサンプルコード(Shell)
CakePHP3 リンク切れチェックツールのサンプルコード(Shell)です。 ● サンプルコードの処理 ・配列に設定されたチェック対象URLリストをループ処理する。 ・リダイレクト(301 …
-
CakePHP3 命名規則(モデル・ビュー・コントローラー)の例
CakePHP3の命名規則(モデル・ビュー・コントローラー)例です。 例①「https://cakephp3.com/articles」にアクセス ※ 下記が自動的に使われる [crayon …
-
2017/12/12 -コントローラー(Controller)
Auth, Cookie, deleteAll, find, TableRegistry, where, サンプルコード, 乱数生成, 自動ログインCakePHP3 自動ログイン(オートログイン)機能のサンプルコードです。 =簡易メモ= ・ユーザーログイン画面にて自動ログインにチェックされていた場合、Cookie(AUTO_LOGIN)セットする …
-
CakePHP3 Opauthソーシャルログイン実装 (Yahoo!・Facebook・Google・Twitter)
◯ はじめに CakePHP3でソーシャルログイン実装(4プロバイダ)しようとしたら、Railsに比べてプラグイン(Gem)がまったくなくて、絶望しながら調査したメモです。 CakePHP2 …
-
CakePHP3.5 HTMLヘルパーまとめ (charset・css・fetch)
2017/12/07 -ビュー(Template)
assign, charset, CSS, fetch, HtmlHelper, 文字セット◯ CakePHP3.5 HTMLヘルパーまとめ
123456789101112131415161718192021// 文字セットのタグを作成<?= $this->Html->charset() ?>//// 生成されるHTML<meta charset="utf-8"/>// CSSファイルへのリンク<?= $this->Html->css('base.css') ?>//// 生成されるHTML<link rel="stylesheet" href="/css/base.css"/>// Viewファイルからタイトル取得//// Layoutファイル<title><?= $this->fetch('title') ?></title>//// Viewファイル(ctp)<?php$this->assign('title', 'トップページ');?>//// 生成されるHTML<title>トップページ</title>
-
CakePHP3 デフォルトレイアウト(default.ctp)の変更方法
2017/12/07 -コントローラー(Controller)
layout, setLayout, viewBuilder, デフォルトレイアウトCakePHP3 デフォルトレイアウト(default.ctp)の変更方法です。
123456789101112131415class UsersController extends AppController{public function index(){// レイアウト変更// 変更前「src/Template/Layout/default.ctp」// 変更後「src/Template/Layout/test.ctp」// CakePHP ~3.3$this->viewBuilder()->layout('test');// CakePHP 3.4~$this->viewBuilder()->setLayout('test');}}
-
◯ 【Linux】個人的によく使うGitコマンドリスト
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081=== 初期設定// email設定# git config user.email "me@example.com"// ユーザー名# git config user.name "cakephp3.com"=== リモートリポジトリ操作// リモートリポジトリのコピー# git clone リポジトリURL// リモートリポジトリへプッシュ# git push// リモートリポジトリからプル# git pull// リモートリポジトリからフェッチおよびマージ# git fetch# git merge origin/ブランチ名// リモートリポジトリの一覧表示# git remote -v=== ブランチ操作// 現在のブランチ確認# git branch// 新規ブランチ作成# git branch ブランチ名// ブランチの切り替え# git checkout ブランチ名=== マージ操作(ex:developブランチ)// 必ずマージコミットを作る# git merge --no-ff develop// fast-forwardの関係にある場合、マージコミットを作らない# git merge develop=== インデックス追加・削除操作// ワーキング・ツリーにあるファイルをまとめてインデックスに追加# git add .// ワーキング・ツリーにある特定ファイルをインデックスに追加# git add ファイルパス// ワーキング・ツリーにあるファイルをまとめてインデックスから削除# git reset HEAD// ワーキング・ツリーにある特定ファイルをインデックスから削除# git reset HEAD ファイルパス=== コミット操作# git commit -m "メッセージ"=== 全体の変更を確認# git status=== 差分を確認// ステージ前の変更と最新コミットとの差分を確認# git diff# git diff ファイルパス// ステージ後の変更と最新コミットとの差分を確認# git diff --cached# git diff --cached ファイルパス=== ログ操作// ログ表示# git log// 1行表示# git log --oneline// ファイル毎の追加・削除行数を表示# git log --numstat// 特定コミットのファイル毎の追加・削除行数を表示# git log --numstat 特定コミットのハッシュ値=== ファイル強制リセット・復元操作// コミット後の変更を全部消す# git reset --hard HEAD// 特定ファイルを特定コミットの状態に戻す# git checkout 特定コミットのハッシュ値 ファイルパス
-
CakePHP3 基本的なメール送信のサンプルコードです。
123456789101112131415161718192021222324<?phpnamespace App\Controller;use Cake\Mailer\Email; // Emailクラスclass UsersController extends AppController{public function index(){$email = new Email('default');// CakePHP ~3.3$email->from('me@example.com') // 送信元アドレス->to('you@example.com') // 送信先アドレス->subject('About') // 件名->send('My message'); // 本文// CakePHP 3.4~$email->setFrom('me@example.com') // 送信元アドレス->setTo('you@example.com') // 送信先アドレス->setSubject('About') // 件名->send('My message'); // 本文}}
-
CakePHP3 ファイルキャッシュ活用してサイト高速化する方法
CakePHP3 ファイルキャッシュ(File Cache)を活用してサイト高速化する方法です。 ※ ファイルキャッシュはローカルファイルを使用するシンプルなキャッシュ方法です。 …
-
CakePHP3「TwitterOAuth」でダイレクトメッセージ(DM)を送信する
2017/12/06 -CakePHP3
composer, Twitter, TwitterOAuth, ダイレクトメッセージ, ライブラリCakePHP3 ライブラリ「TwitterOAuth」で自分のTwitterアカウントにダイレクトメッセージ(DM)を送信する。 ◯ ライブラリ「TwitterOAuth」インストール [ …
-
CakePHP3 ControllerとTemplateに管理者用(admin)ディレクトリ作成する方法
CakePHP3 ControllerとTemplateに管理者用(admin)ディレクトリ作成する方法です。 ex) URL「/admin/logins/」 ◯「config/routes.php」 …
-
CentOS6.9にCakePHP3.5インストールする方法
CentOS6.9にCakePHP3.5インストールする方法です。 ◯ システム要件
12345・HTTPサーバー(Apache/Nginx等)・PHP5.6以上(PHP7.1も含む)・mbstring PHP拡張・intl PHP拡張・simplexml PHP拡張◯ Composerセットア …
-
CentOS6.9にPHP7.1インストール(yum)する方法
CentOS6.9にPHP7.1インストール(yum)する方法です。
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657# ls -l /etc/yum.repos.d合計 24-rw-r--r--. 1 root root 1991 3月 28 19:25 2017 CentOS-Base.repo-rw-r--r--. 1 root root 647 3月 28 19:25 2017 CentOS-Debuginfo.repo-rw-r--r--. 1 root root 630 3月 28 19:25 2017 CentOS-Media.repo-rw-r--r--. 1 root root 7989 3月 28 19:25 2017 CentOS-Vault.repo-rw-r--r--. 1 root root 289 3月 28 19:25 2017 CentOS-fasttrack.repo// Remiリポジトリのインストール# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm// 下記エラー発生時// 依存性の欠如: epel-release = 6 は remi-release-6.9-1.el6.remi.noarch に必要とされています// CentOS6 64bit版# wget rpm -Uvh http://ftp.kddilabs.jp/Linux/distributions/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm# rpm -ivh epel-release-6-8.noarch.rpm# ls -l /etc/yum.repos.d合計 56-rw-r--r--. 1 root root 1991 3月 28 19:25 2017 CentOS-Base.repo-rw-r--r--. 1 root root 647 3月 28 19:25 2017 CentOS-Debuginfo.repo-rw-r--r--. 1 root root 630 3月 28 19:25 2017 CentOS-Media.repo-rw-r--r--. 1 root root 7989 3月 28 19:25 2017 CentOS-Vault.repo-rw-r--r--. 1 root root 289 3月 28 19:25 2017 CentOS-fasttrack.repo-rw-r--r-- 1 root root 1056 11月 5 12:52 2012 epel-testing.repo-rw-r--r-- 1 root root 957 11月 5 12:52 2012 epel.repo-rw-r--r-- 1 root root 457 6月 30 21:13 2017 remi-php54.repo-rw-r--r-- 1 root root 1316 6月 30 21:13 2017 remi-php70.repo-rw-r--r-- 1 root root 1316 6月 30 21:13 2017 remi-php71.repo-rw-r--r-- 1 root root 1316 6月 30 21:13 2017 remi-php72.repo-rw-r--r-- 1 root root 751 6月 30 21:13 2017 remi-safe.repo-rw-r--r-- 1 root root 2609 6月 30 21:13 2017 remi.repo// PHP7.1インストール# yum install --enablerepo=remi,remi-php71 php php-devel php-mbstring※ php-devel:PHP開発用※ php-mbstring:マルチバイト文字用// その他PHPインストール(必要あれば)# yum install --enablerepo=remi,remi-php71 php-mysql php-pdo php-xml php-mcrypt php-intl php-pear※ php-mysql:MySQL用※ php-pdo:データベース接続用※ php-xml:XML操作用※ php-mcrypt:暗号化・復号化用※ php-intl:国際化用※ php-pear:PEARライブラリ用// PHPインストール確認# php -vPHP 7.1.12 (cli) (built: Dec 1 2017 14:08:55) ( NTS )Copyright (c) 1997-2017 The PHP GroupZend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
-
jQuery UI モーダルでダイアログを開くサンプルコード
jQuery UI モーダル(modal)でダイアログを開くサンプルコードです。 ※ jQuery 3.1 / jQuery UI 1.12 [crayon-6 …
-
CakePHP3 Shell(シェル)プログラムのサンプルコード
2017/12/04 -CakePHP3
Linuxコマンドプロンプト, shell, サンプルコードCakePHP3 Shell(シェル)プログラムのサンプルコードです。 ※ LinuxコマンドプロンプトからShell実行して、MSG「Shellテスト」を表示する [crayon-6508 …
-
JavaScript 数字先頭に0を追加する関数のサンプルコード
2017/12/04 -jQuery3
JavaScript, サンプルコード, 関数JavaScript 数字の先頭に0を追加する関数のサンプルコードです。
12345678910111213<script>console.log(digitFormat(1,3)); // 出力ログ:001// 数字の先頭に0を追加してdigitで指定された桁数に変換するfunction digitFormat(num, digit) {var len = String(num).length;if(digit > len) {return (new Array((digit - len) + 1).join(0)) + num;} else {return num;}}</script>
-
JavaScript 日付と時刻チェック(YmdHi)関数のサンプルコード
2017/12/04 -jQuery3
date, JavaScript, サンプルコード, 関数JavaScript 日付と時刻チェック(YmdHi)関数のサンプルコードです。
123456789101112131415161718192021222324252627282930// 日付と時刻チェックのサンプルコード<script>console.log(checkDate(2017,12,04));console.log(checkTime(10,11));// 日付チェック(戻り値: true or false)// ex) Y:2017, m:12, d:04function checkDate(Y, m, d) {var m = parseInt(m, 10);var d = parseInt(d, 10);var check_date = Y+'/'+m+'/'+d;var date = new Date(check_date);if ( check_date == (date.getFullYear()+'/'+(date.getMonth()+1)+'/'+date.getDate()) ) {return true;} else {return false;}}// 時刻チェック(戻り値: true or false)// ex) H:10, i:11function checkTime(H, i) {var H = parseInt(H, 10);var i = parseInt(i, 10);if (0 <= H && H <= 23 && 0 <= i && i <= 59) {return true;} else {return false;}}</script>
-
jQuery3 animateで指定位置まで移動するサンプルコード
jQuery3 animateで指定位置まで移動するサンプルコードです。
123456789101112131415161718<div id="test"></div><script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script><script>animate_scroll($('#test'));// targetまでanimateにて移動function animate_scroll(target) {if (!target) {return false;}var target_position = target.offset().top; // 移動位置取得var adjustment_num = 20; // 位置調整(targetから上に20px)target_position = ((target_position - adjustment_num) > 0) ? (target_position - adjustment_num) : 0;$('html, body').animate({scrollTop: target_position}, 400, 'linear');}</script>
-
CakePHP3 ビュー(Template)から独自Helperを使うサンプルコード
2017/12/02 -ビュー(Template)
Helper, サンプルコードCakePHP3 ビュー(Template)から独自Helperを使うサンプルコードです。 ◯ 独自Helper
123456789101112131415161718192021222324// ファイル名 「src/View/Helper/Cake3Helper.php」<?phpnamespace App\View\Helper;use Cake\View\Helper;class Cake3Helper extends Helper{public function initialize(array $config){parent::initialize($config);}// trailing slash(末尾スラッシュの統一)public function addslash($url){if (preg_match('/\/$/', $url)) {return $url;} else {return $url.DS;}}}…
-
CakePHP3 レコード更新時にmodifiedを更新しない方法
2017/12/02 -モデル(Model)
modified, setDirty, レコード更新CakePHP3 レコード更新時に特定カラム(modified)を更新しない方法です。
12345678$user = $this->Users->get($id);$user['last_login'] = date('Y-m-d H:i:s');// modified更新しない$user->dirty('modified', true); // CakePHP ~3.3$user->setDirty('modified', true); // CakePHP 3.4~$this->Users->save($user);