2012/11/3に博多で行われたPHPMatsuri2012で話をした際のスライドです。CakePHPとタイトルにありますが、CakePHPの話はほとんどありませんw。内容は過去のワンクリックデプロイ勉強会の再構成です。
PSR-0, 1, 2を日本語に翻訳してみました はじめまして。onoと申します。 このたび唐突にPHP-FIGのPSR内容を日本語に翻訳してみました。 1. PSRとは 一言で表すと、PHPの標準コーディング規約です。 それならもう色々あるよねってお話なんですが、 PHP-FIG(PHP Framework Interop Group)というグループには各フレームワークだったりライブラリだったりの関係者が参加しています。 SymfonyだったりZFだったりPEARだったり。 そんな豪勢なメンバーが共通点を見つけながら、ルールを組み立てていきましょう!という背景のもと、共通内容を整理した規約集がPSRということになります。 1-1. 公開します 今回PSR翻訳してみましたが、様々なツッコミを恐れずに公開することにします。 PSR-0 – オートローディング規約(原文) PSR-1 – 基本
jsViewsについて書こうと思ったんですが、ちょっと寄り道。。。 むー、つい最近まで知らなかった。。。PHP5.4.0から追加されたようですね。JsonSerializableインターフェースのドキュメントは以下のURLです。 PHP: JsonSerializable - Manual オブジェクトをそのままjson_encodeしてJSONデータにしたい場合、publicなメンバー変数のみJSONデータに現れます。たとえば、以下のようなコードの場合、 <?php namespace JsonSerializableTest; class Customer { public $id; protected $name; private $birthday; public function __construct($id, $name, \DateTime $birthday) { $th
PHPではprivateと宣言したプロパティ、メソッドは、同じクラスのインスタンスであれば相互にアクセスできます。あまり意識することはないですが、たまにぎょっとすることになります。 <?php class Klass { private $data; function __construct($init) { $this->data = $init; } function get(self $o) { return $o->data; } } $a = new Klass('a instance'); $b = new Klass('b instance'); //echo $a->data; //これはエラーになる echo $b->get($a); //a instance //$bが$aのprivateメンバを読めた これはprotectedの場合でも同様であり、しかも継承したクラス
My PHP Performance Benchmarks PHP version 7.4.33 is running on this server. The benchmarks are done live. Reload the page to get fresh numbers. You are free to use the source for whatever you want. Giving credits to me (Thiemo Mättig) would be nice. Please note that these are micro benchmarks. Micro benchmarks are stupid. I created this comparison to learn something about PHP and how the PHP compi
PDEL for PHP5 official website Practical and Decryptable Encryption Library for PHP5 (Version 1.2.1) Special thanks for your access. Sorry , this site is Japanese(UTF-8) version only. 当サイトへのアクセス、ありがとうございます。 当サイトはブラウザの表示領域を横1000px、縦640px程度、またはそれ以上にして閲覧してください。(特に縦は820px以上を推奨します。) あなたのブラウザは横px、縦pxです。 表示領域が小さいと、メニューが綺麗に表示されず、読みにくくなります。 推奨サイズ以上で閲覧しているにもかかわらず、メニューのTop~ダウンロードが表示領域最上部に固定されない場合、当サイトを再読み込
インターエデュでウェブエンジニアをやっている野澤です。今日はXdebugを使ったリモートデバッグについて簡単にまとめたいと思います。 普段私はあまりデバッガを使った開発はせず、ほとんどprintデバッグが中心で、ブラウザにプログラムの内容を表示させたり、エラーログを確認しながら開発しています。自分たちが開発したプログラムであれば、どこがどういう仕組になっているかはある程度把握しているので、それで十分ではあるのですが、wordpressなどのオープンソースを使った開発になると、内部でどのような処理が行われているかを確認する必要が出てきます。しかしオブジェクト間の依存関係や、階層が深くなってくるとどうしてもprintデバッグだけでは時間がかかってしまいます。 そこでPHPのデバッガであるXdebugの登場です。 XdebugはPHPの拡張モジュールであるPECLパッケージの一つとして提供されて
PSR0, PSR1, PSR2にしたがってPHPのソースコードをフォーマットしてくれるphp-cs-fixerを使う。(全部のルールに対応してるわけじゃない) % sudo curl http://cs.sensiolabs.org/get/php-cs-fixer.phar -o /usr/local/bin/php-cs-fixer % sudo chmod a+x /usr/local/bin/php-cs-fixer % sudo php-cs-fixer self-update % php-cs-fixer fix app/models/foo.php vimから使う ~/.vimrc: Bundle 'stephpy/vim-php-cs-fixer' let g:php_cs_fixer_path = "/usr/local/bin/php-cs-fixer" nnorem
MacでHomebrewを使ってPHPの開発環境を作るまとめです。 HomebrewはMacPortsより圧倒的にコンパクトなのがメリットです。MacPortsでPHPをインストールすると、/opt/localに、Apacheを含め、すごい量のパッケージをインストールされます。PHPのビルドにApacheのライブラリが必要で、さらに、Apacheのビルドには...という具合。これだと、容量あたりの単価がかかるSSD搭載のMac bookがかわいそうですね。HomebrewのPHPは、MacOSにApacheがあるのを知っているので、依存が浅くて軽いです。 MAMP.appがあるじゃないかという人はちょっと待った。あのパッケージ構造、httpd.confとphp.iniとmy.iniがどこにあるかすごくわかりにくいんですよね。そのうえ、使っている拡張の最新バージョン追従が個別にできないのは辛
16. 豪華なメンバー陣 Nate Abele: Lithium Robert Lemke: FLOW3 Nils Adermann: phpBB Larry Masters: CakePHP, CakePHP 2 Brett Bieber: PEAR, PEAR2 Ryan Parman: Amazon Web Services Guilherme Blanco: Doctrine, Doctrine2, SDK et al. Evert Pot: SabreDAV Jordi Boggiano: Composer, Packagist Fabien Potencier: Symfony, Symfony2 Karma Dordrak: Zikula Andre Romcke: eZ Publish Paul Dragoonis: PPI, PPI2 Paul Scott: Chisim
PHP Conference 2012で知ったのですが、PHP5.5にはfinallyが搭載される見込みだそうです。 搭載されるのはいいのですが、昔、「PHPにfinallyはないけどデストラクタがあるよ」と題してfinally不要説を書いたことがあるので、もう少し考察を行ってみたいと思います。自分で自分に反論を書いてるのもアレなんですけど。 ※RFCは追いかけてなかったので、本記事は想像で書いています。ツッコミください。 finally不要説 私が主張した内容を要約するとこんな感じです。 finallyの主な用途はファイルのクローズやDBの接続断などの「後始末処理」である。 後始末はデストラクタで行うこともできる。 PHPではデストラクタの動作が保障されている。(参照カウントによるGC) ゆえにデストラクタを正しく使えばfinallyは不要。 具体例を出すと、finallyのRFCでは例
Migrations Pluginの導入cakeディレクトリがcake_core/cakeという感じで置かれていて色々設定しないとcakeコマンドが動かないのでデフォルトの位置に戻した。おそらくcakeコマンドによるgenerateは使ってなかったんだろう。generateを使わないとCakePHPのレールから大幅に外れることになりがち。cakeコマンドが動いたことによってようやくmigrations pluginを導入できた。現状のDBの状態をmigrationファイルに変換できたが、そもそも初期データはどうあるべきなのかがわからないので困った。テーブルが50ぐらいあるDBの初期データを手で作っていたら日が暮れてしまう。相談したところ、初期化に使っているSQLがあるとのことでそれを頂いた。とても助かった。 一番手っ取り早いテストseleniumでテストを書いている。とにかく「このページ開
Caution: The documentation you are viewing is for an older version of Zend Framework. You can find the documentation of the current version at: https://docs.zendframework.com/ Programmer’s Reference Guide of Zend Framework 2 — Zend Framework 2 2.0.7 documentation
hrysd心を折られるチンカスプログラマーことhrysdがバイトで来てくれることになったので一緒に大門に出社。 初出社前に既にバグを一個潰してコミットしているという荒業を見せたhrysdだが、3000行を超えるcontrollerに早くも心を折られる。 俺「actionのメソッドが5行を超えたら危険印、なんていうrailsのぬるま湯に使ってたんだよ!これがサバンナだ。」 Github Organization契約出社後早速、社長にGithub Organization Bronzeプランを契約してもらう。技術的なことはわからないというが、リスクを背負って立てなおそうという気持ちが伝わって来ました。 9月30日の直近の締め切りに間に合わないのでsvn + redmineからの移行は10月にお預けだ。 svnがよくわかってないまずはsvnでもトップにぶち撒けられてるというのは辛いのでtrunk
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く