edo1z blog

プログラミングなどに関するブログです

cakePHP

CakePHP3用のDocker

CakePHP3を使うためのdockerの設定を作りました。CakePHP2も動きます。 PHP 7.2.11 Apache 2.4.25 MariaDB 10.3.22 GitHub - edo1z/docker_cakephp3: Docker for CakePHP3

プログラムについて分かることは何でも回答いたします!!!PHP, Vue.js, MySQL, Firebase, cakePHP, Laravel, GCP, Stripeなど

MENTAで、プランを作成しました。MENTAは有料でメンターになれるサービスで、プランを投稿すれば誰でもメンターになれます。 menta.work 自分は全部独学なのですが非効率なのは間違いなく、かといってちょっと質問したくても最適な人が近くにいるわけでもな…

cakePHP2 - 多言語化

多言語化します。 cakephpマニュアルのこのページに説明が書いてあります。 あと、翻訳ファイルの作成については、ここが参考になりました。 翻訳したい文字列を指定する 翻訳対象にしたい文字列は、__()というのでくくります。 翻訳ファイルの作成 まず翻訳…

CakePHP2 - Pingサーバを構築してブログの更新通知を受け取る

XML-RPCという仕組みが使われていて、大体weblogUpdates.extendedPingか、weblogUpdates.pingというメソッド名が使われる。IXR_Library.phpというライブラリがあるのでこれを使って作る。飛んでくる情報の最小単位はブログ名とブログURLなので、ブログURLか…

CakePHP2 - RSS取得

https://book.cakephp.org/2.0/ja/core-utility-libraries/xml.html App::uses('Xml', 'Utility'); public function rss() { $url = 'http://endoyuta.com/feed/'; $info = $this->_get_rss($url); if(!$info) return false; $this->log($info); } private f…

CakePHP2 - phpQueryを使う

phpQuery Github:TobiaszCudnik/phpquery Composer対応したやつ:zomberg/phpquery 使い方

CakePHP3 - Log出力にMonologを使う

Seldaek/monolog $ composer require monolog/monolog bootstrap.phpに下記を追加 include 'logger.php'; config/logger.phpに下記を追加

CakePHPで作られたquickapps/cmsを使ってみる

quickapps/cmsは、CakePHPで作成されたCMSだそうです。ライセンスはGPL-3.0dだそうです。GitHubスターが150個くらい。試しにインストールしてみます。 インストール $ composer create-project -s dev quickapps/website [website_name] インストール画面 結…

CakePHP3 - MinifyHtmlプラグイン

WyriHaximus/MinifyHtml HTMLを圧縮して出力してくれるプラグイン。 インストール $ composer require wyrihaximus/minify-html bootstrap.phpに下記を追加。 Plugin::load('WyriHaximus/MinifyHtml', ['bootstrap' => true]); 設定 AppView.phpに下記を追加…

CakePHP3 - whoopsプラグイン

gourmet/whoops whoopsという、かっこいいエラー画面にしてくれるプラグイン。 $ composer require gourmet/whoops:~1.0 bootstrap.phpの下記ErrorHandlerの箇所を修正する。 (new ErrorHandler(Configure::read('Error')))->register(); 修正後 (new \Gourm…

CakePHP3用のよさそうなプラグイン

FriendsOfCake/awesome-cakephp 認証系 FriendsOfCake/Authenticate CakeDC/users dereuromark/cakephp-tinyauth ivanamat/cakephp3-captcha ADmad/cakephp-jwt-auth ADmad/CakePHP-HybridAuth 認可系 ivanamat/cakephp3-aclmanager JcPires/CakePhp3-AclMan…

cakephp3 - DB設定時のTime Zoneエラー

Windows10でXampp使ってcakephp3を動かすとき、DB設定のtimezoneをAsia/Tokyoにすると下記エラーがでた。 General error: 1298 Unknown or incorrect time zone: 'Asia/Tokyo' 対処法は、ここのとおりやったらできた。 ここから、timezone_2017a_posix_sql.z…

GCPでUbuntu16・Nginx・PHP7・cakePHP3環境をつくる

Google Cloud Platform(GCP)はAWSのgoogle版です。ここにサービスの説明があります。 Compute Engine まずプロジェクトを作成する。次に、Compute Engineのコンソールで、VMインスタンスを作成する。ゾーンを日本、マシンタイプをf1-micro、OSをUbuntu16.10…

さくらVPSでcakephp3を動かす

環境 Ubuntu 16.04 PHP 7.0 Nginx 1.10 composerインストール+git clone $ apt-get install composer $ php -v PHP 7.0.8-0ubuntu0.16.04.3 (cli) ( NTS ) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Techno…

さくらレンタルサーバでcakephp3を動かす

すでにさくらサーバでgitが使えるようになっています。たしかデフォルトだと使えなかった気がする。マルチドメインで使います。 さくらサーバの管理画面の設定は抜かします。 composer installしたらエラーになりました。 $ curl -sS https://getcomposer.or…

cakephp3 - REST

AndroidからアクセスするAPIをつくりまっす。テストなのでセキュリティ等は適当にします。 参考: http://book.cakephp.org/3.0/ja/development/rest.html RESTful なルーティング itemsテーブルを作成しておきます。 id, name, price, descriptionというフ…

cakephp3のインストール

Version確認 PCはWindows10です。 $ php -v PHP 5.6.21 (cli) (built: Apr 27 2016 20:13:54) $ composer --version Composer version 1.3.0 2016-12-24 00:47:03 composerでcakephp3のプロジェクト作成 $ composer create-project --prefer-dist cakephp/ap…

購買型クラウドファンディング構築システム『Fundee』をつくりました

Fundeeとは? 購買型のクラウドファンディングサイトを簡単に作成できるパッケージシステムです。PHPで作成されており、フレームワークはcakePHPを使っています。ソースコードの難読化などはもちろんしていませんので、自由にカスタマイズしていただけます。…

cakephp2 - database.phpの情報でmysqlのpdoで接続する

cakephp2で、database.phpの情報でmysqlのpdoで接続する方法。 下記で、database.phpで設定している内容を取得できる。 include_once APP.'Config'.DS.'database.php'; if(class_exists('DATABASE_CONFIG')) { $this->db_config = new DATABASE_CONFIG(); } …

cakephp3 - Bake

composerでインストール $ composer require --dev cakephp/bake:~1.0 ./composer.json has been updated Loading composer repositories with package information Updating dependencies (including require-dev) Nothing to install or update Writing lo…

mac - El CapitanでcakePHP3を使う

Macの状態 macは、El Capitan 11.10.5です。 すでに、PHP7、MySQL、Nginxが入っています。composerもインストール済みです。 Nginxのドキュメントルートは、/usr/local/var/wwwです。 cakephp3のプロジェクトを作成する ドキュメントルートに移動して、hoge…

cloud9でcakephp3・MySQLを使う

cloud9プロジェクトの作成 cloud9でPHPを選択してプロジェクトを作ります。 MySQLの起動 $ mysql-ctl start Installing MySQL * Stopping MySQL database server mysqld ...done. * Starting MySQL database server mysqld ...done. * Checking for tables w…

cakephp - エラー画面のデザイン変更

エラー画面は、app/View/Errorsにありますので、そのviewを変更すればいい。 レイアウトの変更をしたい場合は、そのview内で、< ?php $this->layout = "error"; ?>といった感じで追加すればできる。

cakephp2 - csvダウンロード

CsvHelperがあります。 https://github.com/dai199/cakephp-csv-helper 書き方は、下記のような感じになります。(上記GitHubの使い方の説明を引用) Csv->addRow($th); foreach($td as $t) { $this->Csv->addField($t['User']); // .... 行を追加していく $…

cakePHP - Shellでコンポーネントを使う

参考:[CakePHP 2.x] shell(シェル)からComponent(コンポーネント)を呼び出す Mail = new MailComponent($co…

cakephpでいつも忘れるやつ

■ボタン押したら、確認ボックスが出て、OKを押したらPOSTアクセスするやつ Form->postLink( '<button class="btn btn-danger">削除</button>', '/applications/cancel' . $application['Application']['id'], array( 'class' => '', 'escape' => false), '削除しますか?' ); ?>

cakephp - サブドメインとオリジナルドメインでcookieを有効にする

core.phpで、下記のようにやってみた。できてるっぽい。 $http_host = env('HTTP_HOST'); if(strstr($http_host, 'hoge.com')){ $cookie_domain = '.hoge.com' ; }else{ $cookie_domain = '.' . $http_host; } Configure::write( 'Session', array( 'default…

cakephp - Migrationsプラグインでエラーになった場合の対処について

Migrationsプラグインは便利なのですが、エラーがでるとわけわからなくなります。一度エラーがでるとMigrationsフィアルが空っぽになったりします。テーブルを削除して、Migrations.migration generate -fとやると、削除したテーブルが存在しないよエラーが…

vagrant + chefでcakePHP3の環境をつくる

Vagrantのcentos6.5.3に、php5.6、apache2.2、mysql5.6、phpmyadmin、vim、gitをchefで自動的に入れます。 macにvagrantはインストール済みであるものとします。 chefのknife-soloと、Berkshelfもインストール済みの状態とします。 作成した、Vagrantfile、c…

cakephp - viewでレイアウト変数を変更する

例えば、headerのtitleを変更したい場合、 View/Layouts/default.ctpのtitleタグ内を下記のようにする。 fetch('title'); ?> そして、view内に下記を追記すると、サイト名 - ログインというtitleになる。 assign('title', ' - ログイン'); ?>