羨慕ROR有好用的工具可以掃描資料庫並建出model嗎?
最近發現一個好工具,zend-db-model-generator
在開發時可以先下載這個工具
http://code.google.com/p/zend-db-model-generator/
svn checkout http://zend-db-model-generator.googlecode.com/svn/trunk/ zend-db-model-generator-read-only
然後將config資料夾下的config.php-default 複製一份成為 config.php
並修改裡面資料庫的設定
回到上一層後
執行zend-db-model-generator.php 看有什麼功能好用
--database : database name
--location : specify where to create the files (default is current directory)
--namespace : override config file's default namespace
* --table : table name (parameter can be used more then once)
--all-tables : create classes for all the scripts in the database
* --ignore-table : not to create a class for a specific table
* --ignore-tables-regex : ignore tables by perl regular expression
* --tables-regex : add tables by perl regular expression
先來試用一下
php zend-db-model-generator.php --database musicscript --all-tables
他會將你資料庫中的musicscript所有的資料表都建立model在目前資料夾底下
如果想指定位置只要設定--location參數即可。
也能指定資料表user
php zend-db-model-generator.php --database musicscript --table user
測試下--all-tables好像有錯誤訊息!!但不影響建模
當然如果你不喜歡他所建立的內容,也有模版可以自己修改在templates資料夾下
2010年9月29日 星期三
2010年9月27日 星期一
一個用php操控Mysqlnd的接口mysqlnd_uh
以往我們使用PHP連接MySQL時,大部分都是C接口
而這個是使用純粹PHP寫出的PHP功能
http://pecl.php.net/package/mysqlnd_uh
可以用來使用PHP Mysql Proxy的功能
關於Mysqlnd是PHP5.3以上提供的庫,為資料源提供緩衝
也可節省更多資源的消耗詳情請看
http://www.javaeye.com/news/380
而這個是使用純粹PHP寫出的PHP功能
http://pecl.php.net/package/mysqlnd_uh
可以用來使用PHP Mysql Proxy的功能
關於Mysqlnd是PHP5.3以上提供的庫,為資料源提供緩衝
也可節省更多資源的消耗詳情請看
http://www.javaeye.com/news/380
2010年9月22日 星期三
PHP的Include與Autoload性能比較
直譯語言在運行期時可以動態載入欲執行的物件,在速度上都會認為Autorun其實不然
請看autoload 與 include性能比較
http://calos-tw.blogspot.com/2009/08/php-autoload-include.html
文中測試結果
迴圈為1 時 . include_once 比較快
迴圈為1000時. __autoload 快很多
當重覆載入時__autoload比較快,但實際上在開發,要重覆載入一個物件的機會可能比較少,使用時
Autorun倒是可以減少許多手工寫code的部份&^^
請看autoload 與 include性能比較
http://calos-tw.blogspot.com/2009/08/php-autoload-include.html
文中測試結果
迴圈為1 時 . include_once 比較快
迴圈為1000時. __autoload 快很多
當重覆載入時__autoload比較快,但實際上在開發,要重覆載入一個物件的機會可能比較少,使用時
Autorun倒是可以減少許多手工寫code的部份&^^
2010年9月20日 星期一
取得PHP物件中的屬性及方法
在使用第三方的物件時由於文件缺乏,可以使用
get_class_vars 返回由類的默認屬性組成的數組
get_class_methods 返回由類的方法名組成的數組
method_exists(物件名稱, 屬性) 該物件是否有該方法
來取得該物件的屬性及方法
get_class_vars 返回由類的默認屬性組成的數組
get_class_methods 返回由類的方法名組成的數組
method_exists(物件名稱, 屬性) 該物件是否有該方法
來取得該物件的屬性及方法
2010年9月9日 星期四
2010年9月7日 星期二
使用ZendFrame Work達到跨站使用Session(同個網域下)
Memo(有空再來測試)
實現多個伺服器使用同一份SESSION
http://hi.baidu.com/renyuan1985/blog/item/081d8ff3f431cf58352accb9.html
為Zend_Session 添加一個Memcache_ SaveHandler
http://hi.baidu.com/billdkj/blog/item/049d04f0b2a896c47831aa1c.html
實現多個伺服器使用同一份SESSION
http://hi.baidu.com/renyuan1985/blog/item/081d8ff3f431cf58352accb9.html
為Zend_Session 添加一個Memcache_ SaveHandler
http://hi.baidu.com/billdkj/blog/item/049d04f0b2a896c47831aa1c.html
2010年9月6日 星期一
PHP中讀取YAML
先至http://sourceforge.net/projects/spyc/files/
下載spyc可供使用
基於Ruby帶動了一股使用YAML的風潮,想在PHP中使用可以試試spyc物件。
YAML就結構上比XML更簡潔。
include('spyc.php');
// 讀取YAML文件,生成陣列
$yaml = Spyc::YAMLLoad('spyc.yaml');
// 將陣列轉換成YAML文件
$array['name'] = 'lrenwang';
$array['site'] = 'blog.lrenwang.com';
$yaml = Spyc::YAMLDump($array);
Spyc::YAMLDump只是提供轉換,想修改檔案可以參考一下
file_put_contents('spyc.yaml',$yaml);
下載spyc可供使用
基於Ruby帶動了一股使用YAML的風潮,想在PHP中使用可以試試spyc物件。
YAML就結構上比XML更簡潔。
include('spyc.php');
// 讀取YAML文件,生成陣列
$yaml = Spyc::YAMLLoad('spyc.yaml');
// 將陣列轉換成YAML文件
$array['name'] = 'lrenwang';
$array['site'] = 'blog.lrenwang.com';
$yaml = Spyc::YAMLDump($array);
Spyc::YAMLDump只是提供轉換,想修改檔案可以參考一下
file_put_contents('spyc.yaml',$yaml);
訂閱:
文章 (Atom)