次の場合に処理できるようにした時のメモ %2Fをパラメータに含む (例: http://---domain---/pages/a%2Fb%2Fc) /をパラメータに含む (例: http://---domain---/pages/a/b/c) a/b/c という値を action で受け取る ⇒ Apacheの*.confと、CakePHPのルーティングを設定 CakePHP2.3.9を利用しています。
CakePHP3のChronosの公式ドキュメントを翻訳したので、 その機能についてご紹介します。 以前の記事CakePHP3公式ドキュメントの翻訳が一石N鳥だった件でもご紹介しましたが、 私は「CakePHP3翻訳会」への参加を通じて翻訳を行なっていて、 その中のひとつとしてChronosを翻訳しました。 Chronosとは Chronosは、CakePHP3.2から導入された、日付時刻を扱うライブラリです。 公式のリリースには以下のように書いてあります。 Carbon ライブラリを Chronos に置き換え Carbon ライブラリは cakephp/chronos に置き換えられました。この新しいライブラリは Carbon のフォークで、依存関係は追加されていません。カレンダーのdateオブジェクト、イミュータブルなdateオブジェクトとdatetimeオブジェクトを提供します。
CakePHP Advent Calendar 2017、第10日目です! 昨日は @sizuhiko さんのCakePHP3 のアプリケーションを Behat でテストする でした。 当初CakePHPに管理が移ったmigrationツールのPhinxについて書こうかなと思っていたのですが、紹介したかったPRを出すに至らなかったので、2017/11/22 に公開された Mozillaによるセキュリティ診断結果 について書こうと思います。 基本的にはバージョンの更新で対応が可能かと思いますが、機能をオーバーライドしている拡張や、bakeで生成されるソースへの脆弱性などはユーザー側でも対応の検討が必要と思われますので、CakePHPコミュニティが公開している対応ログを紹介します。 セキュリティ診断レポート 対応ログ(原文) 認識された脆弱性 001: Bakeしたコードで Mass Assi
これは CakePHP Advent Calendar 2017 の第1日目の記事です。 CakePHP に関する Advent Calendar の初日ということで、CakePHP の過去・現在・未来というのを書いてみたいと思います。 日本ではPHPでフレームワークを使うということがまだ一般的でなかった2005年から CakePHP はじわじわとユーザを増やし始め、強力なコミュニティーと大量の書籍が出たことにより、日本のPHPプログラマーの間では Symfony とともにデファクトスタンダードになりました。 Symfony が世界的に流行したことに比べ、CakePHP は日本で爆発的に流行し、活発にイベントが行われ、マニュアルの翻訳も精力的に行われ、加速度的に流行していきました。 特に CakePHP1 系は PHP4/PHP5 の両方で使えたので、PHP5への移行が遅れていた日本の事情
Controllerのテスト例を書きます。 bin/cake bake test Controller ArticlesControllerとかのbakeでファイルが生成される(Controllerのbakeでも一緒にできているはず)ので、それをベースに編集したらいいと思います。 メソッド名は『test』で始まっていれば何でも大丈夫です。(わかりやすい名前がいいと思うけど) 参考: Cookbook 3.x テスト PHPUnit 用のテストの書き方 - アサーション 表示できるかのテスト まずは表示できないと始まりません。 public function testIndex() { $this->get('/articles'); $this->assertResponseOk(); $this->assertResponseContains('>ログイン</a>'); $this->a
と、Groupがwheelになっていました。 rootでログインして、そこを直してapache再起動(service httpd restart)すればOKでした。 ※第1回のQiita記事作成と前後して、開発環境の元とするAMIを直前に修正したりしていたので、そのへんのタイミングでまちがった設定のAMIを一時公開してしまっていた可能性があります。 申し訳ございません! 2015/5/25追記 - 2 ユーザ情報は、パスワードをハッシュ化してから保存しますので、phpMyAdminでデータ追加してもログイン時にエラーになります。ご注意下さい。 ログインとは? 由来はこういうことらしいです。 それはさておき、ログイン機能を実装する際にやるべきことは次の2つです。 認証 - Authentication 承認(認可) - Authorization 認証 - Authentication とは
既存のクラス定義からCakePHP3のマイグレーションを生成するジェネレータを作った。 プロパティが沢山あるクラスを作ってからマイグレーションクラスの叩き台を作ったりする時に使えると思う。 ジェネレータクラス <?php class MigratinoClassGenerator { public function generate(string $className) { $ref = new ReflectionClass($className); $properties = $ref->getProperties(); $migrationClass = new MigrationClass(); foreach ($properties as $property) { $migrationClass->addColumn($property->getName()); } retur
cronとは cronはlinuxでコマンドを定期的に実行するためのデーモンプロセス。 CakePhp3でShell cronを使って定期処理を行う場合には、まず実行対象となるプログラムが必要になる。 CakePhp3では、コマンドから実行できるプログラムを作成する場合、Shellクラスを継承するプログラムを作る。 とりあえず、メールを送信するSendMailShell.phpを以下に示す。 なお、メール送信に関してはconfig/app.phpの編集も必要なため、そちらの詳細は こちらの記事(CakePhp3でGmailからメールを送る)を参照していただきたい。 <?php namespace App\Shell; use Cake\Console\Shell; use Cake\Mailer\Email; class SendMailShell extends Shell { publ
dockerを用いて一瞬でCakePHP環境を構築したいと思います。 今回はこちらの記事 (http://qiita.com/nmatayoshi/items/e7f34e1e220264131934) を参考にさせていただきました。 ありがとうございます! 動作環境 OSX EI Capitan 10.11.6 Docker version 17.03.0-ce mysql Ver 14.14 Distrib 5.7.17(ローカル) dockerを使って構築 dockerがインストールされている、かつmac環境前提で進めていきます。 win環境の方はすみません、参考程度にしてください。 一つずつコンテナを立てていってもいいんですが、面倒臭いし順番を間違えたらいろいろとトラブルの原因になります。 今回はGithubで公開されているDockerfileを元に書いたdocker-compos
概要 Controllerの数が増えてきて、何らかの区分でディレクトリを分けたい場合の設定を書きます。 実装 bootstrap.phpに以下の記述をすることで実現可能です。 例として以下のケースを想定したコードを記します。 ex ) admin用のcontrollerはadminディレクトリにまとめたい App::build(array( 'Controller' => array( ROOT.DS.APP_DIR.DS.'Controller'.DS, ROOT.DS.APP_DIR.DS.'Controller'.DS.'Admin'.DS, ) )); App::build(array( 'Controller' => array( ROOT.DS.APP_DIR.DS.'Controller'.DS, ROOT.DS.APP_DIR.DS.'Controller'.DS.'Adm
OSXでCakePHP3をインストールしたので、ログに残す。 xamppをインストール 公式ページからインストールしてください。php5.6でおk. composerをインストール macにデフォルトでインストールされているターミナルを開いて作業してください。 え? 黒い画面怖い? 怖くないよ。おいでおいでヘ( ̄ー ̄ ) xamppのhtdocsへ移動して、composerをインストールしましょう $ cd /Applications/XAMPP/htdocs/ $ curl -s https://getcomposer.org/installer | /Applications/XAMPP/bin/php Problem 1 - cakephp/cakephp 3.2.8 requires ext-intl * -> the requested PHP extension intl is
CakePHP公式の日本語話者向けのSlackチャンネル(チャットルーム)が開設されました。 まだ開設したばかりで明確な用途が定まっているわけではないのですが、初心者のサポートや開発者同士の意見交換、不具合報告、コアに取り込みたい機能の提案などにお使いいただければと思っています。 チャットに参加するには、まず上記のURLからユーザー登録画面を行います。 メールアドレスを入力して GET MY INVITE を押下すると、入力したメールアドレス宛に招待メールが届くと思います。招待メール中のリンクを踏んでユーザー登録を行ってください。 登録が完了すると Welcome 的な画面が開かれて、画面左にメニューが現れると思います。 メニューの CHANNELS を押下するとチャンネル一覧が表示されますので、そちらから #japanese を選択してください。 するとチャットログが現れると思います。最
まえがき CakePHP では初心者の方を歓迎しています。 CakePHP の README.md に次のように書いてあるのをご存知でしたか? Our primary goal is to provide a structured framework that enables PHP users at all levels to rapidly develop robust web applications, without any loss to flexibility. Google 翻訳にかけるとこんな和訳になります。 私たちの第一の目標は、あらゆるレベルの PHP ユーザーが、柔軟性を損なうことなく堅牢な Web アプリケーションを迅速に開発できる構造化フレームワークを提供することです。 私たちは、 PHP を覚えたての初心者でさえ手早くアプリケーションを開発できる、そんなフレーム
ビジネスロジック書くところ無い cakephpでは、Helper,Component,ShellHelper,Cellなどもろもろロジックを使いまわすための機構がありますが、バッチなどを動かすShellと、ウェブ上で動かすcontroller等のソースで、ロジックを共有したいのに既存のものだとロジックを置く場所がないです。 参考 みんな困ってます。 cakephp - How to load a component in console/shell - Stack Overflow どうやってコンポーネントをshellでつかうの? cakephp 3.0 - Calling a Component function from helper - Stack Overflow どうやってコンポーネントをHelperの中でつかうの? ということで、Serviceクラスを作ってみました 正直DDD
お疲れ様です! GMOリサーチの石黒です。 私は普段からCakePHP3の公式ドキュメントを翻訳しています。 今回は、既に翻訳された公式ドキュメントの誤訳やタイポを簡単に修正する方法をご紹介します。 必要なもの Githubアカウント ブラウザ 以上 ①誤訳を発見する Chronosのドキュメントを眺めていたら「インストールためには」という文を発見したので、今回はこれを「インストールするためには」に修正します。 ※今回は明らかに誤訳というかタイポですが、誤訳であるかどうかは、英語の原文と見比べて判断しましょう。 ②修正画面に飛ぶ 画面右の鉛筆マークをクリックすると、Githubで管理されているcakephp/docsというリポジトリの対象ファイルの修正画面に飛びます。 ③修正する この画面内で修正できます。 ※画面上部にメッセージが出ているように、このリポジトリを直接修正することはできませ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く