CodeIgniter徹底入門読書会に参加してきました。
参加された皆様、おつかれさまでした〜
カテゴリー: CodeIgniter
CodeIgniter読書会@東京があるらしい!
OSC2009 Nagoyaで第一回CodeIgniter読書会が開催されましたが、東京でも開催されるようです。
このまま各地で広がっていくのかな?と期待デス♪
http://groups.google.co.jp/group/codeigniter-reading/web/codeigniter–1
以下上記URLより参照
日時
2009年9月4日(金) 19:00〜21:00
場所
CafeMiyama渋谷東口駅前店 会議室 5号室主な対象
PHPフレームワークに興味がある人。PHPフレームワークを覚えたい人。PHP初心者でも構いません。PHPに関する雑誌や本を書いている人、フレームワークを作ってます、というような人は主な対象ではありませんので、サポートする側にまわってください。参加資格
この Googleグループに参加していること。
CodeIgniter 読書会
http://www.ospn.jp/osc2009-nagoya/modules/eguide/event.php?eid=29
CodeIgniter徹底入門の読書会が開催されるそうです。
去年のOSC名古屋にはお邪魔させていただいたのですが、今年は断念(><)
CodeIgniterの勉強をするため、私もこの本のお世話になりました。
やっと少し手に馴染んできて、
フレームワークっていいなぁと思うことができるようになりました。
背中を教えくださった本なので、参加できないのはとても(><)
osc2009名古屋より参照
担当者 ytooyama 登録日時 2009-07-13 15:37 (249 ヒット)
講師:安藤建一
担当:日本CodeIgniterユーザ会
対象者:PHPフレームワークを始めようと考えられている方々。
カテゴリ:CMS/フレームワークPHPフレームワーク「CodeIgniter」の解説書である
『CodeIgniter徹底入門』http://codeigniter.jp/tettei/
の読書会(第1回)を行います。『CodeIgniter徹底入門』と Note PC をご持参ください。
参加される方は、以下の Googleグループに登録をお願いします。
http://groups.google.co.jp/group/codeigniter-reading
メモ r1190 MYNETS_url_helper.php
MYNETS_url_helper.phpをr1190へ更新。
ちょいエラーが出るので、331行目を修正
function auto_link_callback($matches)
↓TRUEでも良かったとは思うんだけど、全部ポップアップはめんどくさいので。
function auto_link_callback($matches,$popup=FALSE)
追記:2009.08.22
http://usagi-project.org/redmine/repositories/diff/mynets2?rev=1195
preg_replace_callback でコールバック関数に $popup を渡せないのでということで、Class化されたらしい。
class Auto_link になってた。
後でファイルを入れ替えておこう。
・・・・テスト書かないとだめだなぁやっぱり(><)
メモ CodeIgniter SQLの確認
Active Recordで書いたSQLを確認する。
よく忘れるので、メモ〆(。。)
$this->db->last_query();
メモ MyNETS2 モジュールの情報を取得
とりあえずメモ。
モジュール名とか、知りたい時は$this->matchbox;をつつくと良い気がする。
var_dump($this->matchbox);
モジュール名htmlの場合での結果。
object(CI_Matchbox)[6] public '_callers' => array 0 => string 'Loader' (length=6) 1 => string 'Matchbox' (length=8) 2 => string 'MY_Config' (length=9) 3 => string 'MY_Language' (length=11) 4 => string 'Parser' (length=6) public '_directories' => array 0 => string 'modules' (length=7) public '_directory' => string 'modules/' (length=8) public '_module' => string 'html/' (length=5)
追記2009.09.10
__FUNCTION__ で現在実行しているメソッド名を取得できる・・・・メモ〆(。。)
[メモ]MyNETS2で開発。
まずはSKINまわりから。
今搭載されてる構造を変更。
ベースとなるCSSファイル+画像ファイルをdefaultとして設置する。
モジュールごとにCSSファイルを設置
モジュールのCSSファイルに、ベースとなるCSSを読み込ませて基本となるCSSの設定にする。
テーマごとに、フォルダを切り替えたりなんてことも考えたんだけど、
ZIPファイルでテーマファイルを別の場所に保存しておいて、/theme/になるように展開したり、
管理機能からCSSを編集したり、フォルダごとzipに固めてバックアップをとったりできるとよさげだなと思ったので、/theme/以下に1テーマってことにしてみる。
基本SKIN
/theme/default/main.css /theme/default/css/xxxx.css /theme/default/images/xxxxx.jpg
モジュール別のスキン
/theme/{モジュール名}/css/main.css /theme/{モジュール名}/css/xxx.css /theme/{モジュール名}/images/xxxx.jpg
/theme/{モジュール名}/css/main.cssの中身はこんな感じ
@charset "utf-8"; /* CSS Document */ /*基本CSSを取得 --------------------------------*/ @import url("../default/main.css");
…以下cssフォルダの中のパーツ分けしたCSSファイルを順次import
1モジュール毎にCSSを設定。
基本となるSKINの情報はdefaultから取得する
共通部品のjavascript、javascriptライブラリ等
/shared/js/xxxx.js等 /shared/js/{ライブラリ名}/パーツ
kunitsujiさんからコーディング規約の資料を教えていただいたので、コーディング規約に沿うように、コードを整頓。
そろそろ個人用のナンデモSVNからMyNETS2用のSVNに独立させるべきかな・・・・・
メモ:
- MyNETS2 r766がベース。
- 一応3カラムの構造も用意したが、2カラムが良さそう。
- bbsとdiaryはまだ入れ物だけのようなので削除
- 携帯ページと同時にすすめていきたいので、Viewの書き方、controllerの書き方を模索
- 会員の新規登録あたりを充実させる
- どの程度の粒度でモジュールにするか、コントローラで分けるかを考える
[メモ]今日のMyNETS2でCIUnit
modules以下のmodel,library,helperのテストが、CIUnitでできるようになりました。
modules以下のControllerとviewはまだphpunitが実行できる状態にまで辿りつけていません。
adminモジュールのModel_adminで、少しはまりました。
$this->_user_id = $this->CI->session->userdata('user_id');
の処理を通過させるために、setUp()の中で、次のコードの記入が必要でした。
adminモジュールのModel_adminの31行目
$this->CI->session->userdata(‘user_id’);で、user_idを渡している箇所のために、記載。
ひょっとしたらsessionではなく違うカタチでuser_idを渡せれば、もっと良いのかも。
$this->CI->load->file(APPPATH.'libraries/session/MYNETS_Session.php');
$this->CI->session = new MYNETS_Session;
実行をすると次のように表示されます。
Warningは出ますが、テストは実行できます。
$ phpunit testSomeModel.php
PHPUnit 3.3.16 by Sebastian Bergmann.
<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">
<h4>A PHP Error was encountered</h4>
<p>Severity: Warning</p>
<p>Message: Cannot modify header information - headers already sent by (output started at /usr/share/pear/PHPUnit/Util/Printer.php:168)</p>
<p>Filename: libraries/Session.php</p>
<p>Line Number: 663</p>
</div>.
Time: 0 seconds
OK (1 test, 0 assertions)
追記:2009.06.12 3:19
modules以下のcontrollerはとりあえず諦めようかなという気分です。
APPPATH.controller/以下のcontrotterもOUTPUTがあるかどうかのテストだけみたいだし・・・(言い訳)
modulesのmodelのテストで、
$this->_user_id = $this->CI->session->userdata('user_id');
が使われている場合の処理について、前回のやり方だと、AllTests.phpの実行時にエラーが発生するので、次のように修正。
if(!isset($this->CI->session)){
$this->CI->load->file(APPPATH.'libraries/session/MYNETS_Session.php');
$this->CI->session = new MYNETS_Session;
}
$this->CI->session->userdata('1');
なんだかもう少しな気がしてきたよ。
[メモ]CodeIgniterの情報を検索してみる
まだまだ勉強不足の自分自身のために、検索結果をメモ〆(。。)
まだまだ使い切れてないなぁを自覚中。
MyNETS2のモジュールになることによってファイルが切り分けられて見通しがとても良くなる仕組みはとても素敵だけれども、CodeIgniter本体のバージョンアップに対しても自力で対応できるようにまでなりたい。
がんばらねばデス。
DBの設定等の盲点
http://blog.promob.jp/fri/2009/04/codeigniter-2.html
codeigniterとxajaxの話題
http://hain.jp/index.php/tech-j/2006/07/24/p29
xajaxというのは使ったことないのだけども、
以前にさわったcakephp1.1よりもCodeIgniter1.7.0のほうがajaxやjavascriptを組み込みやすかったように思う。
ただ、cakephpも半年ぐらいしか触ったことが無いので、言い切ってしまってよいかどうかはわからない・・・(汗
twitter @CodeIgniter
http://twitter.com/CodeIgniter
いまさらながらフォローをしました♪
CIUnitで素の状態のCodeIgniterに対してはテストが行えるようになりました。
ただ、MyNETS2に対してのソレは、MyNETS2の特徴とも言える携帯対応の部分をコメントアウトしたと、内部を壊しつつの対応で、やっとのことmodules以外のテストが出来るようになっただけです。
基本的なことがわかっていないので、modules以下をどうテストを書いてよいかがわからない。
CIUnitは本当に良く出来ていて、Controllreのテスト、modulesのテストととても書きやすくできています。
modulesでも同等にわかりやすく書けるべきで、それがどうやれば実装できるのか・・・・・
現状のMyNETS2でCIUnit
今現在の状況で言えば、
modules以下の本当にテストをしたい箇所がテストが出来ませんが、
動くところまでもっていくことができました。
ただ、MyNETS2のコードを書き換えての対応なので、
あまりよくない対応です。
Loader.phpのモバイルかどうかを判定して、
モバイル用のviewファイルがあれば、
そっちをとりにいく処理を
コメントアウトして動かしてます・・・・orz
あきらめずにコードを追いたいと思います。
追記:2009.06.07
CodeIgniterの話題とMyNETS2(アプリケーションプラットフォーム)との話題の差がわかりにくいので画像を作成してみました。MyNETS2の話題に関してはしばらくこれを使おうかなと思います。
さらに追記:2009.06.07 17:36
コメントアウトした部分は、携帯からのアクセスの場合、携帯用のviewフォルダにファイルがあればそっちを読むべし的な処理部分でした。1つのコントローラが、件数の表示を切り替えるにしても同じコントローラを使う場合使わない場合もありそうなので、コメントアウトのままでもいいかもしれないと思い始めています。・・・・でもやっぱりあったほうがいいのかなぁ・・・・(汗)