ComposerでインストールしたPHPUnitをCakePHP2のコンソールから利用する方法

今回は、ComposerでインストールしたPHPUnitをCakePHP2から利用する方法です。Composerのインストール方法は昨日書きました。 「Composerを使ってPHPUnitをインストール」 さて、方法はいろいろとあると思いますが、今回はCake2が元々持っているTestShellク…

App::import('Model', 'モデル名')をCakePHP2用にApp::uses()使うように置換

テストケースなどでモデルの読み込みをApp::importでやっている箇所が大量にあったので、一括置換する方法App::importの箇所を、自分のモデル名の文字列を切り出して、App::usesに置換します。 find ./ -name "*.php" | xargs sed -i "s/App::import('Model'…

Composerを使ってPHPUnitをインストール

PHPUnitはpearなどで入れることも出来ますが、ほかのPearライブラリと同一フォルダにインストールされてしまうため管理しにくいし、チームの各自でPearインストールをしてもらうとバージョンも異なる可能性もあるので避けたい。 必要なファイルだけをGitで管…

メモ: プロジェクト内のphpファイルのシンタクスチェックを一括で行う方法

find . -type f -name "*.php" -exec php -l {} \; ctpファイルの場合 cd View find . -type f -name "*.ctp" -exec php -l {} \;

Cake1からCake2に移行した際に、Call to a member function body() on a non-objectエラーが出る場合の対応

Cake1.2からCake2に乗せ換えしていてはまった話。 エラーログに下記のようなメッセージが出てうまく表示できない場合、コントローラのresponseオブジェクトが存在しないのが原因。$this->response->body()をCakeのコアコードで呼び出すのでその時にresuponse…

メモ: 拡張子を一括変更するgit mvのやりかた

.thtmlという拡張子のファイルを、.ctpにgit mvする方法 find ./ -name "*.thtml" | xargs -i basename {} .thtml | xargs -i git mv {}.thtml {}.ctpxargs -i basenameで拡張子以外の文字列を抜き出して、それをパイプで最後のxargsに渡す

PHPMatsuriの裏側

イベントの内容は参加者の参加報告が色々とあがっているので、私はイベントの裏側を紹介しようと思います。 去年まではGoogleグループベースのMLで議論をして、PHPMatsuriのサイトとPaypal決済連携機能も自前で用意してやっていました。 今までの問題点とし…

PHPMatsuri2012 福岡

別記事「PHPMatsuriの裏側」はこちら http://d.hatena.ne.jp/cakephper/20121229/1356760604 2012年11月3日〜4日にかけてPHPMatsuri2012福岡が開催されました。 http://www.phpmatsuri.net/2012/ 楽しそうな人たち 最近やっと全ての残タスクが終わったのでブ…

CakeAdvent2012 Day3 Cake CookBookの翻訳差分チェックサイト作りました

CakeAdvent2012の3日目を担当します。ハッシュタグは #cakeadvent2012昨日はfukayatsuさんの「CakePHPと僕とcakes」でした。 cakesはエンジニア募集中のようです! RoRに載せかえとか面白そうですね。 はじめに 最近はIPAという苦めのビールが大好きです。ペ…

findコマンドで日付指定を使っての期間絞込み

findコマンドで何日より古いファイルを探すというのはよくやりますが、日数ではなくて日付を指定して検索する方法 find ./ -newerct '2012/11/6 0:0:0' -and ! -newerct '2012/11/10 0:0:0' これで11月6日から10日までに作成されたファイルが検索できます。 …

CakePHP Adventカレンダー2012が開催されます

今年もCakePHP Adventカレンダー開催! http://www.adventar.org/calendars/40ハッシュタグは #cakeadvent2012 ですネタは何でも良いので、まずは登録して正座しながら担当日を迎えましょう!

WordpressのDBコピーとURL置換の超簡単な方法

WordpressはサーバのURLを固定値でDBの中に格納しているので、たとえばtest.example.comのwordpressデータを、staging.example.comにコピーしてもうまく動かない。そこで、データをダンプしてURLを置換してコピーするお手軽な方法をよく使う。 Wordpress1と…

CakePHP3.0の片鱗が見えてきた

まだまだCakePHP3.0のリリースには時間がかかると思いますが(たぶんあと1年ぐらい)、だんだんと3.0の形が見えてきました。CakePHP3からはPHP5.4以上が必須になるようなので、ホスティング環境にかなり左右されそうです。さくらインターネットが今日ホステ…

pull request送るまでは適当なコミットメッセージにしておく

git

CakePHPのCookbook翻訳で、gitの利用方法を以前書きました。 http://d.hatena.ne.jp/cakephper/20120709/1341808861その時は、本家の最新の状態をrebaseで反映してから自分のリポジトリのブランチにpushするまでの流れを書きました。 その後は、githubのペー…

CakePHP2 実践入門が発売されました!

技術評論社より、「CakePHP2 実践入門」が発売されました。 http://gihyo.jp/book/2012/978-4-7741-5324-72012/9/29に発売なのに、お前はなぜ今頃という感じではありますが、宣伝したいと思います。 いや、最初は在庫切れを心配してあまり宣伝しなかったんで…

sshログインを禁止、sftpのみを許可してhome以上の階層に遷移させない設定

昔は、sshとftpをそれぞれ設定してサーバ管理者はsshログイン、コンテンツ更新者はftpログイン(chroot)という構成をしていました。 最近のsshdは、sftp + chrootという設定が可能なのでよくやってます。いつも設定方法を忘れるのでここにメモ。 ただ、古いSS…

CakeFest2012が開催されました

9/1,2とイギリスのマンチェスターで CakeFest2012のカンファレンスが開催されました。今年は去年と同じ場所でした。 今年も発表しようかと思ってたけど、色々な要因で参加しないことにして、その代わり、ライブ配信チケットを2万円ぐらいで買って家で見てま…

CakePHP1と2のパフォーマンスを比較

CakePHP2.2になったので、1.3, 2.0, 2.1, 2.2で比較しました。 比較したコードは、postsテーブルをbakeしただけの単純なものです。 https://github.com/ichikaway/CakePHP-PerformanceCheckSample この画面のように、ページング処理が入ったindexアクション…

AmazonLinuxがルートパーティションを8GBまでしか認識してない場合の拡張方法

AWSで新しくインスタンスを作った際に、RootDevice(ESB)に30Gほど割り当てたのですが、 AmazonLinuxが認識している/dev/sda1(/dev/xvda1)のディスクサイズが8Gしか認識していなかったので、それを30Gまで広げる方法。 ext4でやってみたのですが、たぶんext2…

現在のブランチ名をコマンド一発で入力する方法

gitを使うときは、bashrcからbash_completionを読み込んで、ブランチ名の補完などができるようにしているのですが、同じようなブランチ名が多くなったりすると、補完でもイライラするときがあって、 git pull origin hogeみたいにやる時に面倒だなと思うこと…

地球の歩き方みたいなRubyの本 「たのしい開発 スタートアップRuby」

たのしい開発 スタートアップRuby作者: 大場寧子,大場光一郎,五十嵐邦明,櫻井達生出版社/メーカー: 技術評論社発売日: 2012/07/31メディア: 単行本(ソフトカバー)購入: 3人 クリック: 140回この商品を含むブログ (15件) を見るRuby知らなくても楽しく読め…

[PHP] PHPのCopy on Writeを確認してみた

PHPはCopy on Writeという機能によって、変数をコピーしただけでは、実際にメモリ領域がコピー分確保されません。同じ領域を参照するだけです。 コピーした変数の値を書き換えた時に初めてコピーが行われます。この機能、変数に代入した場合、関数に渡した場…

[cakePHP] CakePHP2 のドキュメント翻訳大会を終えて

7/6,7に福岡と東京でCakePHP2用のCookBook翻訳を行いました。 福岡には9人、東京サテライトには3人、という形で一気に翻訳をやろうという企画。 結果 2日で、15プルリクエストを送っており、まだ翻訳途中のファイルが10個ぐらいあるので、そのうちそれらもマ…

PHPカンファレンス関西で発表してきました

発表資料です CakePHP最新情報 PHPカンファレンス関西2012 View more presentations from ichikaway 聞く人がCake知らない人もいるしという前提で作ってしまって、概要が多くなってしまいました。会場にいるほぼ99%の人がCake触ったことあって、8割ぐらいの…

facebookにPHP CGIの脆弱性を試してみたら面白い対策がされていた!!

PHPに新たな脆弱性が見つかって、CGIモードで動作するPHPの場合コマンドライン引数がHTTP経由で渡せてしまうため、-sオプションを渡すとPHPのソースコードが丸見えになるというのが話題になってます。(-sオプションはhtmlでシンタックスハイライトまでしてく…

CakePHP2.1.2と、2.2.0-Betaがリリースされました

もう2.2の足音が聞こえてきてますね。 「CakePHP 2.1.2 & 2.2.0-beta released」 http://bakery.cakephp.org/articles/markstory/2012/04/30/cakephp_2_1_2_2_2_0-beta_releasedCakePHP2.2では、2.0, 2.1とAPI互換のためそのままスムーズに移行できそうです…

これが開発者用Dropbox! Webアプリケーション向けリアルタイムストレージ Firebase

Firebaseというのが4/12にローンチされたようです。 http://www.firebase.com/ これは公開されているAPIとJavascriptライブラリを利用して、自分のサイトにリアルタイムストレージが手軽に組み込めるようになります。自分のWeb画面に必要なJavascriptライブ…

新世代Javascriptフレームワーク meteorがすごい!

偶然見つけたmeteorというjsフレームワークがなんだかすごい。 ※昔からあるCometのmeteorとは違います デモビデオを見て驚いたのが、DBを更新すると(直接MongoDBコマンドでInsertすると)全てのユーザ画面に自動的に反映できること。 ホットコードプッシュと…

CakePHPのshellでHtmlヘルパーを利用しURLを生成する

CakePHPのシェルでHtmlヘルパを使ってHtmlHelper::url()を呼び出して、URLを取得する方法です。 CakePHP1.3をベースに書いています(CakePHP2の場合はApp::uses()を使うなどすればいけると思います)。 H…

近況報告

しばらくの間、福岡に住みます。遊びにきてください。 月1回は東京に出張します。4月は4/18-22の予定。 #cake_beer Cake本 CakePHPのViewを中心に書いた本が発売されました! Cake2も扱っていて、Htmlコーダさんと仕事するときには必須の本じゃないかと。 中…