狠狠撸

狠狠撸Share a Scribd company logo
PHP
正規表現2
課題
ファイル名:preg.php
アップロードするファイル:sample.html

1stチャレンジ
?Formからファイルをuploadする。
?upしたファイルの中に含まれるURLを取り出す。
?取り出したURLのそれぞれの個数をカウントする。
?結果を表形式で出力する。

2ndチャレンジ
?上記の結果を出力する際に、数の大きい方から出力する。(降順で)
解答例 preg.php
<?php
setlocale(LC_ALL,'ja_JP.utf-8');
$formname="upload";
switch($_POST['cmd']){
case	 'up':
	 	 	 	 $tmpname	 =$_FILES[$formname]['tmp_name'];

//	 一時ファイル名
	 	 	 	 $filename=$_FILES[$formname]['name'];	 	 	 	 	 //	 本来のファイル名
	 	 	 	 $pattern	 =	 '!(https?|ftp)://((?:[A-Z0-9][A-Z0-9-]*[.])*(?:[A-Z0-9][A-Z0-9-]+)(?::d+)?)!i';
	 	 	 	 $fp=fopen($tmpname,"r")	 or	 die("Can't	 open	 temporary	 file");
	 	 	 	 echo	 "<h2>{$filename}</h2>";
	 	 	 	 while(($line=fgets($fp))!==false){
	         	 if(preg_match($pattern,$line,$match)>0){
	         	 	 	 	 $addr[$match[2]]++;
	         	 }
	 	 	 	 }
	 	 	 	 fclose($fp);
	 	 	 	 echo	 "<table><tr><td>URL</td><td>count</td></tr>n";
	 	 	 	 arsort($addr,SORT_NUMERIC);

       //	 配列のsort
	 	 	 	 foreach($addr	 as	 $url	 =>	 $count){                   default:
	         	 echo	 "<tr><td>$url</td><td>$count</td></tr>n"; echo	 <<<	 EOFORM
	 	 	 	 }                                                       <form	 action=""	 method="POST"	 enctype="multipart/form-data">
	 	 	 	 echo	 "</table>n";                                     <input	 type="hidden"	 name="cmd"	 value="up">
	 	 	 	 break;                                                  アップロードファイル:<input	 name="$formname"	 type="file">
                                                                     <input	 type="submit"	 value="送信">
                                                                     </form>
                                                                     EOFORM;
                                                                     	      break;
                                                                     }
                                                                     ?>
Linuxのディレクトリ構造
? FHS(Filesystem Hierarchy Standard)に基いている。
 現在の最新規約はバージョン2.3

? 詳細はfhs-2.3.pdf参照のこと
 http://www.pathname.com/fhs/

? 各ディストリビューションは、この規約に準じるのが一般的
ubuntuのディレクトリ構造
/           ルートディレクトリ        ├ /mnt    一時的なマウントポイント

├ /bin      基本コマンド           ├ /opt    アプリケーションインストール用

├ /boot     起動に必要なファイル       ├ /proc   プロセス情報

├ /cdrom    cdromマウント用       ├ /root   root用ホームディレクトリ

├ /dev      デバイスファイル         ├ /run    実行中のPIDなど

├ /etc      設定ファイル           ├ /sbin   システム管理用コマンドなど

├ /floppy   floppyマウント用      ├ /srv    サービス用のデータ

├ /home     ユーザのホームディレクトリ    ├ /sys    デバイスやドライバの情報

├ /lib      共有ライブラリ          ├ /tmp    一時的なファイル

├ /lost+found 破損ファイルの断片置き場   ├ /usr    各種プログラムなど

├ /media    一時的なマウントポイント     └ /var    変更されるデータ
passwdファイル
? /etc/passwd
? 第1?第7フィールドで構成       root:x:0:0:root:/root:/bin/bash
                      daemon:x:1:1:daemon:/usr/sbin:/bin/sh
                      bin:x:2:2:bin:/bin:/bin/sh
?eld          意味      sys:x:3:3:sys:/dev:/bin/sh
                      sync:x:4:65534:sync:/bin:/bin/sync
 1     ユーザ名(ログイン名)
                      games:x:5:60:games:/usr/games:/bin/sh
 2     (暗号化パスワード)     man:x:6:12:man:/var/cache/man:/bin/sh
                      lp:x:7:7:lp:/var/spool/lpd:/bin/sh
 3     ユーザ番号(UID)     mail:x:8:8:mail:/var/mail:/bin/sh
                      news:x:9:9:news:/var/spool/news:/bin/sh
 4     グループ番号(GID)    uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
                      proxy:x:13:13:proxy:/bin:/bin/sh
 5     コメント(名前など)                            :

 6     ホームディレクトリのパス

 7     ログイン?シェル
/etc/shadow
? /etc/passwdと連携
? 管理者権限がないと見ることができない
? 実際の暗号化パスワードが保存されている。(例)
   yosimura:$6$aWrlNbvr
   $IUigimi23rhdpMy56BveWNXN./.APduF1c4ZD7bm/
   imc0U7zN2vpnT8U47q09tZPWHRwpMv4retBklWYIrO4D/:
   15447:0:99999:7:::
文字列の分割
    関数名                              働き

   split( )*     正規表現により文字列を分割し、配列に格納する

                 大文字小文字を区別しない正規表現により文字列を分割
   spliti( )*
                 し、配列に格納する

 preg_split( )   正規表現で文字列を分割する


  explode( )     文字列を文字列により分割する(正規表現は使えない)


  str_split( )   文字列を配列に変換する(固定長で使う)


* 5.3.0より非推奨      http://jp2.php.net/manual/ja/function.split.php
split
<?php                                     array(4) {
                                          ?[0]=>
$str="aa,bb,cc,dd";                       ?string(2) "aa"
var_dump( split(",",$str));               ?[1]=>
                                          ?string(2) "bb"
var_dump( split(",",$str,3)); // 分解数を指定   ?[2]=>
?>                                        ?string(2) "cc"
                                          ?[3]=>
                                          ?string(2) "dd"
                                          }
                                          array(3) {
                                          ?[0]=>
                                          ?string(2) "aa"
                                          ?[1]=>
                                          ?string(2) "bb"
                                          ?[2]=>
                                          ?string(5) "cc,dd"
                                          }
preg_split
フォームで検索文字列などをスペース等で区切って、複数入力した場合の処理で活躍

<?php
$keywords = mb_convert_kana($keywords, 's')
$ary_keyword = preg_split('/[s]+/', $keywords, -1, PREG_SPLIT_NO_EMPTY);
foreach( $ary_keyword as $val ){
  // 検索条件を設定するコードをここに書く
}
?>
explode
<?php
//?例?1
$pizza??=?"piece1?piece2?piece3?piece4?piece5?piece6";
$pieces?=?explode("?",?$pizza);
echo?$pieces[0];?//?piece1
echo?$pieces[1];?//?piece2

//?例?2
$data?=?"foo:*:1023:1000::/home/foo:/bin/sh";
list($user,?$pass,?$uid,?$gid,?$gecos,?$home,?$shell)?=?explode(":",?$data);
echo?$user;?//?foo
echo?$pass;?//?*
?>
課題1
? /etc/passwdファイルから、ユーザ名の一覧を作成する。
? UID(ユーザ番号)が1000より小さい場合は、システムが
  利用するユーザなので、表示しないことにする。
? 表とCSSで見やすく出力すること。
? 作成ファイル名:pass1.php
課題2
? 課題1を改良し、作成ファイル名:pass2.phpを作成。
? 名前?UIDを配列に格納し、ソートする。
  ? UIDの昇順
? ソートした結果を、表として出力する。

More Related Content

What's hot (20)

PHPUnit 4.0で追加されたwillReturn*()の紹介
PHPUnit 4.0で追加されたwillReturn*()の紹介PHPUnit 4.0で追加されたwillReturn*()の紹介
PHPUnit 4.0で追加されたwillReturn*()の紹介
Takaaki Hirano
?
実用裏方 Perl 入門
実用裏方 Perl 入門実用裏方 Perl 入門
実用裏方 Perl 入門
keroyonn
?
搁顿叠でのツリー表现入门
搁顿叠でのツリー表现入门搁顿叠でのツリー表现入门
搁顿叠でのツリー表现入门
Kent Ohashi
?
惭辞箩辞濒颈肠颈辞耻蝉をウェブ制作现场で使ってみてる
惭辞箩辞濒颈肠颈辞耻蝉をウェブ制作现场で使ってみてる惭辞箩辞濒颈肠颈辞耻蝉をウェブ制作现场で使ってみてる
惭辞箩辞濒颈肠颈辞耻蝉をウェブ制作现场で使ってみてる
jamadam
?
シェル入门
シェル入门シェル入门
シェル入门
ina job
?
Local php-100828 2
Local php-100828 2Local php-100828 2
Local php-100828 2
Akio Ishida
?
「Html sql」で図書館hpにアクセスしてみよう
「Html sql」で図書館hpにアクセスしてみよう「Html sql」で図書館hpにアクセスしてみよう
「Html sql」で図書館hpにアクセスしてみよう
Kentaro Matsui
?
详説ぺちぺち
详説ぺちぺち详説ぺちぺち
详説ぺちぺち
do_aki
?
PHP foreachでの参照渡しに潜む罠
PHP foreachでの参照渡しに潜む罠PHP foreachでの参照渡しに潜む罠
PHP foreachでの参照渡しに潜む罠
Takaaki Hirano
?
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道20123時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
Yusuke Ando
?
超簡単! Redmineで体験 初めてのチケット管理
超簡単! Redmineで体験 初めてのチケット管理超簡単! Redmineで体験 初めてのチケット管理
超簡単! Redmineで体験 初めてのチケット管理
Shin Tanigawa
?
超简単!厂耻产惫别谤蝉颈辞苍と罢辞谤迟辞颈蝉别厂痴狈入门(操作编2)
超简単!厂耻产惫别谤蝉颈辞苍と罢辞谤迟辞颈蝉别厂痴狈入门(操作编2)超简単!厂耻产惫别谤蝉颈辞苍と罢辞谤迟辞颈蝉别厂痴狈入门(操作编2)
超简単!厂耻产惫别谤蝉颈辞苍と罢辞谤迟辞颈蝉别厂痴狈入门(操作编2)
Shin Tanigawa
?
2011年10月7日
2011年10月7日2011年10月7日
2011年10月7日
nukaemon
?
omoon.org の裏側 ?FuelPHP の task 活用例?
omoon.org の裏側 ?FuelPHP の task 活用例?omoon.org の裏側 ?FuelPHP の task 活用例?
omoon.org の裏側 ?FuelPHP の task 活用例?
Sotaro Omura
?
15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )
hiro345
?
Elixirだ 第1回強化版 前半
Elixirだ 第1回強化版 前半Elixirだ 第1回強化版 前半
Elixirだ 第1回強化版 前半
Joe_noh
?
迟谤补颈迟を使って楽したい话
迟谤补颈迟を使って楽したい话迟谤补颈迟を使って楽したい话
迟谤补颈迟を使って楽したい话
infinite_loop
?
超简単!厂耻产惫别谤蝉颈辞苍入门 準备编
超简単!厂耻产惫别谤蝉颈辞苍入门 準备编超简単!厂耻产惫别谤蝉颈辞苍入门 準备编
超简単!厂耻产惫别谤蝉颈辞苍入门 準备编
Shin Tanigawa
?
もにかじ2 lt @studio3104
もにかじ2 lt @studio3104もにかじ2 lt @studio3104
もにかじ2 lt @studio3104
Satoshi Suzuki
?
贬颁贰でなんちゃって罢测辫别4の狈顿贰贵タグをつくる
贬颁贰でなんちゃって罢测辫别4の狈顿贰贵タグをつくる贬颁贰でなんちゃって罢测辫别4の狈顿贰贵タグをつくる
贬颁贰でなんちゃって罢测辫别4の狈顿贰贵タグをつくる
Hiroshi Tanaka
?
PHPUnit 4.0で追加されたwillReturn*()の紹介
PHPUnit 4.0で追加されたwillReturn*()の紹介PHPUnit 4.0で追加されたwillReturn*()の紹介
PHPUnit 4.0で追加されたwillReturn*()の紹介
Takaaki Hirano
?
実用裏方 Perl 入門
実用裏方 Perl 入門実用裏方 Perl 入門
実用裏方 Perl 入門
keroyonn
?
搁顿叠でのツリー表现入门
搁顿叠でのツリー表现入门搁顿叠でのツリー表现入门
搁顿叠でのツリー表现入门
Kent Ohashi
?
惭辞箩辞濒颈肠颈辞耻蝉をウェブ制作现场で使ってみてる
惭辞箩辞濒颈肠颈辞耻蝉をウェブ制作现场で使ってみてる惭辞箩辞濒颈肠颈辞耻蝉をウェブ制作现场で使ってみてる
惭辞箩辞濒颈肠颈辞耻蝉をウェブ制作现场で使ってみてる
jamadam
?
シェル入门
シェル入门シェル入门
シェル入门
ina job
?
「Html sql」で図書館hpにアクセスしてみよう
「Html sql」で図書館hpにアクセスしてみよう「Html sql」で図書館hpにアクセスしてみよう
「Html sql」で図書館hpにアクセスしてみよう
Kentaro Matsui
?
详説ぺちぺち
详説ぺちぺち详説ぺちぺち
详説ぺちぺち
do_aki
?
PHP foreachでの参照渡しに潜む罠
PHP foreachでの参照渡しに潜む罠PHP foreachでの参照渡しに潜む罠
PHP foreachでの参照渡しに潜む罠
Takaaki Hirano
?
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道20123時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
Yusuke Ando
?
超簡単! Redmineで体験 初めてのチケット管理
超簡単! Redmineで体験 初めてのチケット管理超簡単! Redmineで体験 初めてのチケット管理
超簡単! Redmineで体験 初めてのチケット管理
Shin Tanigawa
?
超简単!厂耻产惫别谤蝉颈辞苍と罢辞谤迟辞颈蝉别厂痴狈入门(操作编2)
超简単!厂耻产惫别谤蝉颈辞苍と罢辞谤迟辞颈蝉别厂痴狈入门(操作编2)超简単!厂耻产惫别谤蝉颈辞苍と罢辞谤迟辞颈蝉别厂痴狈入门(操作编2)
超简単!厂耻产惫别谤蝉颈辞苍と罢辞谤迟辞颈蝉别厂痴狈入门(操作编2)
Shin Tanigawa
?
2011年10月7日
2011年10月7日2011年10月7日
2011年10月7日
nukaemon
?
omoon.org の裏側 ?FuelPHP の task 活用例?
omoon.org の裏側 ?FuelPHP の task 活用例?omoon.org の裏側 ?FuelPHP の task 活用例?
omoon.org の裏側 ?FuelPHP の task 活用例?
Sotaro Omura
?
15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )
hiro345
?
Elixirだ 第1回強化版 前半
Elixirだ 第1回強化版 前半Elixirだ 第1回強化版 前半
Elixirだ 第1回強化版 前半
Joe_noh
?
迟谤补颈迟を使って楽したい话
迟谤补颈迟を使って楽したい话迟谤补颈迟を使って楽したい话
迟谤补颈迟を使って楽したい话
infinite_loop
?
超简単!厂耻产惫别谤蝉颈辞苍入门 準备编
超简単!厂耻产惫别谤蝉颈辞苍入门 準备编超简単!厂耻产惫别谤蝉颈辞苍入门 準备编
超简単!厂耻产惫别谤蝉颈辞苍入门 準备编
Shin Tanigawa
?
もにかじ2 lt @studio3104
もにかじ2 lt @studio3104もにかじ2 lt @studio3104
もにかじ2 lt @studio3104
Satoshi Suzuki
?
贬颁贰でなんちゃって罢测辫别4の狈顿贰贵タグをつくる
贬颁贰でなんちゃって罢测辫别4の狈顿贰贵タグをつくる贬颁贰でなんちゃって罢测辫别4の狈顿贰贵タグをつくる
贬颁贰でなんちゃって罢测辫别4の狈顿贰贵タグをつくる
Hiroshi Tanaka
?

Viewers also liked (6)

Suma de dos enteros pseint.leidySuma de dos enteros pseint.leidy
Suma de dos enteros pseint.leidy
Viviana Perenguez
?
........
....
Henkmb
?
AprendeAprende
Aprende
Marin Alexandra
?
QSY
QSYQSY
QSY
marinabf
?
Katiyar
KatiyarKatiyar
Katiyar
Kumar Amar
?
Escuela primaria fordEscuela primaria ford
Escuela primaria ford
Montserrat Cruz
?
Suma de dos enteros pseint.leidySuma de dos enteros pseint.leidy
Suma de dos enteros pseint.leidy
Viviana Perenguez
?
........
....
Henkmb
?
Escuela primaria fordEscuela primaria ford
Escuela primaria ford
Montserrat Cruz
?

Similar to 01 php7 (20)

颈苍颈迟谤补尘蹿蝉について
颈苍颈迟谤补尘蹿蝉について颈苍颈迟谤补尘蹿蝉について
颈苍颈迟谤补尘蹿蝉について
Kazuhiro Nishiyama
?
PHP Object Injection入門
PHP Object Injection入門PHP Object Injection入門
PHP Object Injection入門
Yu Iwama
?
鲍搁尝で游ぼう
鲍搁尝で游ぼう鲍搁尝で游ぼう
鲍搁尝で游ぼう
Hiraku Nakano
?
Vyatta 改造入門
Vyatta 改造入門Vyatta 改造入門
Vyatta 改造入門
Masakazu Asama
?
Ruby 2.5
Ruby 2.5Ruby 2.5
Ruby 2.5
Masahiro Tomita
?
PHP AST 徹底解説
PHP AST 徹底解説PHP AST 徹底解説
PHP AST 徹底解説
do_aki
?
颁惭厂と笔别谤濒て?游ほ?う
颁惭厂と笔别谤濒て?游ほ?う颁惭厂と笔别谤濒て?游ほ?う
颁惭厂と笔别谤濒て?游ほ?う
Daiki Ichinose
?
10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/1210分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12
kenjis
?
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
linzhixing
?
Project lambda
Project lambdaProject lambda
Project lambda
Appresso Engineering Team
?
What is Metasepi?
What is Metasepi?What is Metasepi?
What is Metasepi?
Kiwamu Okabe
?
Boost tour 1_44_0
Boost tour 1_44_0Boost tour 1_44_0
Boost tour 1_44_0
Akira Takahashi
?
Customization of DBIC::Schema::Loader
Customization of DBIC::Schema::LoaderCustomization of DBIC::Schema::Loader
Customization of DBIC::Schema::Loader
Toru Yamaguchi
?
ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~
ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~
ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~
Akabane Hiroyuki
?
毎秒2000搁别辩耻别蝉迟を捌く笔别谤濒製颁惭厂の内部构造(顿别产颈补苍サーバ1台にて)
毎秒2000搁别辩耻别蝉迟を捌く笔别谤濒製颁惭厂の内部构造(顿别产颈补苍サーバ1台にて)毎秒2000搁别辩耻别蝉迟を捌く笔别谤濒製颁惭厂の内部构造(顿别产颈补苍サーバ1台にて)
毎秒2000搁别辩耻别蝉迟を捌く笔别谤濒製颁惭厂の内部构造(顿别产颈补苍サーバ1台にて)
nabe-abk
?
How to debug a perl script using gdb
How to debug a perl script using gdbHow to debug a perl script using gdb
How to debug a perl script using gdb
akirahiguchi
?
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
kenjis
?
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
Hiroaki KOBAYASHI
?
颈苍颈迟谤补尘蹿蝉について
颈苍颈迟谤补尘蹿蝉について颈苍颈迟谤补尘蹿蝉について
颈苍颈迟谤补尘蹿蝉について
Kazuhiro Nishiyama
?
PHP Object Injection入門
PHP Object Injection入門PHP Object Injection入門
PHP Object Injection入門
Yu Iwama
?
PHP AST 徹底解説
PHP AST 徹底解説PHP AST 徹底解説
PHP AST 徹底解説
do_aki
?
颁惭厂と笔别谤濒て?游ほ?う
颁惭厂と笔别谤濒て?游ほ?う颁惭厂と笔别谤濒て?游ほ?う
颁惭厂と笔别谤濒て?游ほ?う
Daiki Ichinose
?
10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/1210分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12
kenjis
?
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
linzhixing
?
Customization of DBIC::Schema::Loader
Customization of DBIC::Schema::LoaderCustomization of DBIC::Schema::Loader
Customization of DBIC::Schema::Loader
Toru Yamaguchi
?
ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~
ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~
ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~
Akabane Hiroyuki
?
毎秒2000搁别辩耻别蝉迟を捌く笔别谤濒製颁惭厂の内部构造(顿别产颈补苍サーバ1台にて)
毎秒2000搁别辩耻别蝉迟を捌く笔别谤濒製颁惭厂の内部构造(顿别产颈补苍サーバ1台にて)毎秒2000搁别辩耻别蝉迟を捌く笔别谤濒製颁惭厂の内部构造(顿别产颈补苍サーバ1台にて)
毎秒2000搁别辩耻别蝉迟を捌く笔别谤濒製颁惭厂の内部构造(顿别产颈补苍サーバ1台にて)
nabe-abk
?
How to debug a perl script using gdb
How to debug a perl script using gdbHow to debug a perl script using gdb
How to debug a perl script using gdb
akirahiguchi
?
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
kenjis
?
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
Hiroaki KOBAYASHI
?

01 php7

Editor's Notes