PHPカンファレンス2013にて発表
![CakePHPでも使える Composerを活用したモダンな開発手法](https://cdn-ak-scissors.b.st-hatena.com/image/square/1321b0b408f5aa0a967fa79b7c0590371d2716b2/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F0bf726a0018a0131a9f86e64ddb58d77%2Fslide_0.jpg%3F1979511)
一部の方には事前にお話していましたが、わたしも共著で執筆に参加した「CakePHPで学ぶ継続的インテグレーション」という、CakePHPを使って継続的インテグレーションを実践するながれを解説した書籍が9/19にインプレスから出版されます! CakePHPで学ぶ継続的インテグレーション 作者: 渡辺一宏,吉羽龍太郎,岸田健一郎,穴澤康裕,丸山弘詩出版社/メーカー: インプレス発売日: 2014/09/19メディア: 単行本(ソフトカバー)この商品を含むブログを見る 既にインプレスさんのサイトやAmazonにも掲載されています。まだ、書影が反映されていませんが、予約受付中です!是非ポチッとお願いします(^^。 今年頭頃のミーティングから約9ヶ月、途中本業が忙しくなかなか執筆がすすまなかったりもしましたが、なんとか書き上げることができました。今回、初めて僕自身の企画+執筆のとりまとめをすることに
CakePHP is an open-source web, rapid development framework that makes building web applications simpler, faster and require less code. It follows the model–vie... をみると、ダウンロードのリンクが https://codeload.github.com/cakephp/cakephp/zip/2.4.3 だったので、 $ cd /var/www/html/ $ sudo curl -O https://codeload.github.com/cakephp/cakephp/zip/2.4.3 % Total % Received % Xferd Average Speed Time Time Time Current Dload
イントロダクション 標準のfindの種類(first, all, count, threaded, neighbor, list)だけでは、ビジネスロジックに対応できないことがあります。 これに対するひとつのプラクティスとしては、カスタムfindタイプを定義することです。 この記事では、実際の開発を想定したリファクタリングの過程を通してカスタムfindタイプの定義の仕方と活用方法、その意義をご紹介します。 「次」の記事 例えば、カレントのレコードの「次*1」のレコードを取得したい場合、それに纏わる複雑な処理は、単純なqueryの発行だけでは済まないことがあります。 この「次」のレコードを探索するロジックを例に、ボブ*2がこれを実装していくお話をしましょう。 要件の定義 ボブの上司のサム*3は、クライアントの会社のサイトにブログモジュールを追加するプロジェクトの打ち合わせで、次の要件を定義し
CakePHP2対応したのCSVヘルパーはこちらです。 FastCSV ヘッダだとか文字化けで取っつき難いCSV関連 最初に言っておきます、CSV Helperはとても易しく使いやすいです。 →CSV Helper (PHP 5) ザッとマニュアルを見てから思い通りの実装・出力まで30分程度でした。 それでは、さっそく使い方を説明します。 1.まず、「app/views/helpers/」に「csv.php」を作成して 以下のソースをそのままコピペしてください。 <?php class CsvHelper extends AppHelper { var $delimiter = ','; var $enclosure = '"'; var $filename = 'Export.csv'; var $line = array(); var $buffer; function CsvHelp
つかれた!大体上から人気ある順で並んでおります。 人気がちょっとあってもちょっと古いのは割と下にいます。 Croogo cakePHPで作られた高機能なCMSらしい。これを全部組み込んだり一部組み込んだりするとブログとかすぐにつくれるかも http://croogo.org/ CakeDC/utils 色々詰まってる便利なやつらしい。これにトラックバック実装するときのpingbackっていうのもありそうだな。つくんなきゃいけないから見てみよう。 CakeDC / migrations これは良さげ。データベースいじった履歴とかデータベースの共有とかその辺をなんか便利にしてくれるっぽい。 CakeDC / search これは多分有名なサーチプラグイン。でも使ったことない。サーチってそんな難しくないし。でもきっと便利にできてるんだろうから調べてみるのはいいかも。 CakeDC / users
2024年4月1日より、Supership株式会社は親会社であるSupershipホールディングス株式会社に吸収合併されました。 合併に伴い、存続会社であるSupershipホールディングスは社名をSupershipに変更し、新たな経営体制を発足しました。本件に関する詳細は、プレスリリースをご確認ください。 2024年4月1日より、Supership株式会社は親会社であるSupershipホールディングス株式会社に吸収合併されました。 合併に伴い、存続会社であるSupershipホールディングスは社名をSupershipに変更し、新たな経営体制を発足しました。 本件に関する詳細は、プレスリリースをご確認ください。
CakePHPでexample.com/controller/actionの様な形式のURLが、どう扱われて、コントローラーのアクションが呼ばれるのか気になったので、mod_rewriteからDispatchされるまでの流れを、ソースコードを読んで追いかけてみました。 mod_rewrite cakephp ├── .htaccess #(1) ├── app | ├── .htaccess #(2) │ └── webroot | ├── index.php │ └── .htaccess #(3) └── lib └── Cake ダウンロードしたCakePHPから.htaccessの位置関係だけ書くとこんな構成になってます。.htaccessは3個あります。 1番目に処理される.htaccess <IfModule mod_rewrite.c> RewriteEngine o
2024年4月1日より、Supership株式会社は親会社であるSupershipホールディングス株式会社に吸収合併されました。 合併に伴い、存続会社であるSupershipホールディングスは社名をSupershipに変更し、新たな経営体制を発足しました。本件に関する詳細は、プレスリリースをご確認ください。 2024年4月1日より、Supership株式会社は親会社であるSupershipホールディングス株式会社に吸収合併されました。 合併に伴い、存続会社であるSupershipホールディングスは社名をSupershipに変更し、新たな経営体制を発足しました。 本件に関する詳細は、プレスリリースをご確認ください。
みなさんこんにちは。@ryuzeeです。 PHPで書かれたソースコードがコーディング規約に準拠しているかどうか確認するには、PHP_CodeSnifferというツールを使うのはよくご存知だと思いますが、今回はCakePHPを使って書いたソースコードの規約をチェックする方法を紹介します。 なお、このような規約チェックはローカル環境で気が向いた時にやるだけではなく、継続的インテグレーションにも組み込んで実施することが望まれます。 PHP_CodeSnifferのインストール特にチャンネルの追加は必要ありません。 インストールが完了すると、phpcsコマンドがインストールされます。 また標準では、Squiz, PEAR, Zend, MySource, PSR1, PSR2 , PHPCS の7個の規約がインストールされます。このうちMySourceは自分でのカスタマイズ用です。 CakePHP
New CakePHP 5.0 Chiffon. Faster. Simple. Delicious. What's new in version The migration guide has a complete list of what's new in. We recommend you give that page a read when upgrading. A few highlights from 5.0 are: PHP 8.1 required. Improved typehints across the framework. CakePHP now leverages union types to formalize the types of many parameters across the framework. Upgraded to PHPUnit 10.x
Bakerなら言わずと知れたDebugKitですが、これ簡単にパネルを追加できるんですね。 アプリケーションやプラグインの値の確認なんかに、こちょこちょっと追加しちゃいましょう。 では、定番の「Hello World」をやってみましょう。 APP/vendors/hello_world_panel.php まず処理の部分ですが、DebugPanelというクラスを継承して行います。 まぁこんな感じです。 DebugPanel::$plugin DebugPanel::$title DebugPanel::startup DebugPanel::beforeRender 上記のプロパティ・メソッドが用意されているのでご自由にお使い下さい。 APP/views/elements/hello_world_panel.ctp 続いて表示部分です。 DebugPanel::beforeRender内で
CakePHP用のSmartyプラグインを書いてみました。 以前からいくつかあるのですが、バージョンが古かったりViewの全ての機能が使えなかったり、最新版から見ると機能として足りてない部分が見受けられたので、新たに用意してみました。GitHubにおいてあります。MITライセンスっす。 GitHub - kanshin/CakeSmarty: Smarty 3 plugin for CakePHP 1.3 ポイントは 1. ThemeViewに対応 2. デフォルトのctpと共存可能 3. Helperに対応したSmartyプラグインをバンドル 4. Smartyのconfigに対応 2番目、結構重要です。Scaffoldで作られたビューや、デフォルトのレイアウトはそのまま.ctpのままにしておいて、メインコンテンツのみSmartyで記述ということも簡単にできます。.ctpのエレメントも使
コントローラー内でfind()検索するとき、対象のテーブルだけではなく、hasManyなどのアソシエーションでつながっている先のテーブルのフィールドを検索したいことがある。 この場合、単純に find('all',array('conditions'=>array( '対象テーブル.id '=>"%{$this->data['対象テーブル']['title']}%", '対象テーブル'.'関連テーブル'.id like '=>"%{$this->data['対象テーブル']['title']"))); とやって、できるかなーと思っても機能しない(><)。。 で、それを回避するためにいったん、アソシエーション先のテーブルを検索してその結果のidを、find('list')で保持しておき、それを検索結果に含める、という段階をとる。 $id_list = $this->対象テーブル->関連テーブ
気がついたら1年ぶり以上のCake関係の記事。 さて、最近またCakePHPを使ってWEBアプリを組んでいるので久々に更新します。 最近、Product Advertising APIと名前が変わったAmazonのAPI。 これを使うのに便利なライブラリとしてPEAR Services_Amazonがあります。 このライブラリを使用すると、通信結果結果を配列で取得、Amazonから取得したデータのキャッシュの実装などなどが簡単に行えます。 が、CakePHP内部で、このライブラリのキャッシュ関係の部分が動かずハマってしまったので、かつ同じようにハマる人がいそうなのでメモしておきます。 発生したエラーについて CakePHPの、あるmodelの中で、次のようなコードを書きました <?php require_once("Services/Amazon.php"); $amazon = new
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く