目前從之前的架構,再做了幾個專案之後,改成目前使用的樣子:
Ex. DaoSystemUser.php
導入了psr4機制,而名稱也統一在同一個地方管理,而連結資料庫的方式使用PDO,這裡使用github上的第三方套件:
https://github.com/indieteq/indieteq-php-my-sql-pdo-database-class
在一開始就會自動加載進來,然後再用PDO去執行。
而從資料庫調出來的值使用方式為:
如此就是目前能做到的最新資料庫連結架構,之後還要再繼續尋找更好的方案......
Ps. 如果只有撈出來特定欄位的值,記得不要用 select * ,全部撈會比撈特定值還要多耗費時間。
Ex. DaoSystemUser.php
<?php namespace DB\Dao; use DB\DB; Class DaoSystemUser { public $dbname = "systemuser"; public $field_sn = "Sn"; public $field_userid = "Userid"; public $field_passwd = "Passwd"; public $field_name = "Name"; public $field_role = "Role"; public $field_isstop = "IsStop"; public $field_note = "Note"; public $field_createuser = "CreateUser"; public $field_createdate = "CreateDate"; public $field_modifyuser = "ModifyUser"; public $field_modifydate = "ModifyDate"; private $DB; public function __construct() { $this->DB = new DB(); } public function queryByAll() { $sql = "select * from " . $this->dbname; return $this->DB->query($sql); }
導入了psr4機制,而名稱也統一在同一個地方管理,而連結資料庫的方式使用PDO,這裡使用github上的第三方套件:
https://github.com/indieteq/indieteq-php-my-sql-pdo-database-class
在一開始就會自動加載進來,然後再用PDO去執行。
而從資料庫調出來的值使用方式為:
<?phprequire __DIR__ . "/vendor/autoload.php"; use DB\Dao\DaoSystemUser; $dsu = new DaoSystemUser(); $list = $dsu->queryByAll(); for ($i = 0; $i < count($list); $i++) { $SU = $list[$i]; $userid = $SU[$dsu->field_userid]; echo "userid: " . $userid, PHP_EOL; $name = $SU[$dsu->field_name]; echo "name: " . $name, PHP_EOL; // and so on.....}
如此就是目前能做到的最新資料庫連結架構,之後還要再繼續尋找更好的方案......
Ps. 如果只有撈出來特定欄位的值,記得不要用 select * ,全部撈會比撈特定值還要多耗費時間。
沒有留言:
張貼留言