仕事に若干の余裕ができたので平日にもかかわらず参加できた。職場から近かったのもでかい
これから始める勉強会ということで新鮮な気持ちに
概要
基本情報
項目 | 内容 |
---|---|
*日程 | 5月23日(水) 19:00〜21:30 |
*会場 | デジタルハリウッド大学 福岡校 |
*Facebookグループ | http://www.facebook.com/groups/355557634510818/ |
*Ustream | http://www.ustream.tv/channel/fukuoka-php |
https://twitter.com/#!/fukuokaphp | |
*ハッシュタグ | #fukuokaphp |
はじめに
はじめに立ち上げの経緯についての説明が@akase244 氏から。勢い良く始まったらしく内容はTogetterにまとめてあるとのこと
「Fukuoka.php」の立ち上げから開催直前までの流れ
PHPのテスト手法のおさらい
項目 | 内容 |
---|---|
*登壇者 | @akase244 |
*スライド | http://prezi.com/-xxnituivznw/fukuokaphp-vol1/ |
TDD(Test Driven Development、テスト駆動開発)
・TDDはユニットテストの一つであり、統合テストとは別。
・自動化して、継続して行なっていくことが大事
・PHP Unitが良さ気
PHP Unit
:
Simple Test
: 開発停止?
lime
:
phpt
: 本体にバンドルされている?
Doctest
:
BDD(Behavior Driven Development、振舞駆動開発)
Ruby系から派生したものが多い
PHP Spec
:
Behat
:
PHP Unit
: Seh. PHPカンファレンス関西 2012 PHPカンファレンス関西2012のLT資料”BDDで行こう”を公開しました
コーディングルール
PHPのコード規約を自動的にあわせたり、コードを整形したり
PHP Code Sniffer
: PHP CPD
: コピペコードの検出などの機能も
PHP MD
: 潜在的なバグの可能性をチェック。
PHP COding Standard Fixer
: おかしな箇所の指摘だけではなく、修正まで。まだまだ荒削り?
PHP Code Deautifuer
:
PHP Formatter
:
Pretty Printer
:
継続的なインテグレーション(CI)
Jenkins
:
PHP Under Controll
:
Tavis CI
:
感想
この辺はあまり詳しくなかったので、名前だけの紹介でもありがたかった。
[LT] PHPでできること
項目 | 内容 |
---|---|
*登壇者 | @rytich |
福岡でのPHPのコミュニティの歴史?やその周辺界隈についての紹介
AIP CafeやらGuildCafe CostaやOreokaなどについても
SPL
項目 | 内容 |
---|---|
*登壇者 | @cakephper |
*スライド | http://www.slidesharh.net/ichikaway/spl-fukuokaphp1 |
Autoload
・外部のファイルをrequireやincludeで予め読んでおくのではなく、クラス利用時に自動的に読み込むことができる
・CakePHP2移行でも使われている
・予め __autoload関数を宣言しておく必要がある
・クラスと倶楽部を含むファイル名を合わせておくと良い
<?php
function __autoload($classname) {
$filename = "./". $classname .".php";
include_once($filename);
}
http://www.php.net/manual/ja/languagh.oop5.autoload.php
http://www.php.net/manual/ja/function.autoload.php
Iterator
・PHPでIteratorを作成できる
・沢山のIteratorが準備されており、組み合わせて使用できる
例えば、ディレクトリを再帰的に辿るRecursiveDirectoryIteratorなど
http://www.php.net/manual/ja/class.recursivedirectoryiterator.php
感想
SPL(Standard PHP Library)はあまり使ったことがなかった。PHP5から使えるらしい。
今度福岡でPHPまつり2012というイベントがあるらしい。ハッカソン?
BaserCMSに見られるCakePHPノウハウ蓄積法
項目 | 内容 |
---|---|
*登壇者 | @ryuring |
*スライド | http://www.slidesharh.net/ryuring/basercmscakephp |
問題意識
CakePHPを使って構築する場合、CakePHPコア、自社ライブラリ、サイト固有プログラムの分離が問題になる
⇒ Appに自社ライブラリとサイト固有プログラムを混ぜると自社ライブラリのメンテナンスが困難に
Baserでは
それぞれを以下のように分離することで、メンテナンスを容易にする
⇒ 自社ライブラリをアップデートする場合は /baserディレクトリを上書き、サイト固有プログラムは触らない
/cake
: CakePHPコア
/baser
: 自社ライブラリ
/app
: サイト固有プログラム
CakePHP1.2では、/appのbootstrapに/baserへのパスを追加することで可能
CakePHP1.3以降では、App:Buildを使うことで同様の仕組みが可能
感想
CakePHPを利用したコーポレイトサイト向けCMS、BaserCMSの仕組みについて
仕事ではCakePHPを使うことが多いので、この作り方は導入したい
[LT] PHPで画像処理のいろいろ
項目 | 内容 |
---|---|
*登壇者 | @yuki930 |
*スライド | http://blog.v-colors.com/fukuoka-php-vol-1.html |
PHPでは画像処理について色々なライブラリがある。
GD、ImageMagik、Imagine、Gmagick
比較的簡単に色々なことが実行できる
・画像のリサイズ
・画像に文字を合成し、カレンダーにする
・画像から色を抽出し、似た色合いの画像を検索する
感想
画像系はたまに触るので、なんとなくわかる。画像から色を抽出するのは何か面白そうな用途がありそう
[LT] PHP関数探訪
項目 | 内容 |
---|---|
*登壇者 | @debility |
*スライド | http://debility.hateblo.jp/entry/2012/05/24/190624 |
PHPの面白い関数紹介
get_define_function()
: PHPで使える関数の一覧を返す。初期状態で1000ちょっと
date_sun_info()
: 位置情報から日の出日の入り時間を返す
date_interval_create_from_date_string()
: 文字列からDate_intervalを生成する
str_rot13()
: 文字列をシーザー暗号に変換して返す
感想
・PHPは無駄に関数が多い上によくわからない使い道のものが多い
・PHPが他の言語と比べて素晴らしいのは、オンラインマニュアルだと正直思う
・意外と調べやすい
・マニュアル本体より、下にあるUser Contributed Notes のほうが数倍役に立つ+面白い