oop(面向对象)进阶知识
<?php
namespace _0805;
if (!interface_exists(__NAMESPACE__.'\iDbparam')) {
interface iDbparam
{
const TYPE ='mysql';
const HOST = '127.0.0.1';
const USERNAME = 'root';
const PASSWORD = 'a757871402';
const DBNAME = 'php';
public static function connection ();
}
}
class Connection implements namespace\iDbparam
{
private static $type = iDbparam::TYPE;
private static $host = iDbparam::HOST;
private static $username = iDbparam::USERNAME;
private static $password = iDbparam::PASSWORD;
private static $dbname = iDbparam::DBNAME;
public static function connection()
{
$dsn = self::$type.':host='.self::$host.';dbname='.self::$dbname;
$username = self::$username;
$password = self::$password;
return new \PDO($dsn,$username,$password);
}
}
$link = Connection::connection();
$stmt = $link->prepare('SELECT * FROM `staff` LIMIT :limit');
$stmt->bindValue('limit',5,\PDO::PARAM_INT);
$stmt->execute();
$staffs = $stmt->fetchAll(\PDO::FETCH_ASSOC);
foreach ($staffs as $staff) {
$hiredate = date('Y/m/d',$staff['hiredate']);
echo "<li>{$staff['staff_id']}--{$staff['name']}--{$staff['position']}--{$hiredate}</li>";
}
文本案例的数据库文件
SET NAMES utf8;
SET time_zone = '+00:00';
SET foreign_key_checks = 0;
SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
DROP TABLE IF EXISTS `staff`;
CREATE TABLE `staff` (
`staff_id` int(3) NOT NULL AUTO_INCREMENT COMMENT '主键',
`name` varchar(30) NOT NULL COMMENT '姓名',
`age` tinyint(3) unsigned NOT NULL DEFAULT '25' COMMENT '年龄',
`sex` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '1:男0:女',
`position` varchar(20) NOT NULL COMMENT '职位',
`mobile` char(11) NOT NULL COMMENT '手机号',
`hiredate` int(10) unsigned NOT NULL COMMENT '入职时间',
PRIMARY KEY (`staff_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `staff` (`staff_id`, `name`, `age`, `sex`, `position`, `mobile`, `hiredate`) VALUES
(1, '侯亮平', 43, 1, '反贪局长', '13576543210', 851356800),
(2, '祁同伟', 46, 1, '公安厅长', '13023458765', 1420041600),
(3, '高育良', 57, 1, '政法书记', '15678789933', 981734400),
(4, '李达康', 51, 1, '市委书记', '13088856222', 1336838400),
(5, '沙瑞金', 56, 1, '省委书记', '18956490987', 1179158400),
(6, '赵东来', 41, 1, '公安局长', '15999999999', 1375891200),
(7, '高小琴', 36, 0, '山水庄园', '18967678877', 1452528000),
(8, '陈清泉', 48, 1, '外语学霸', '13023487666', 1320940800),
(9, '钟小艾', 38, 0, '反贪总局', '13576588333', 1318348800),
(10, '陆亦可', 35, 0, '调查处长', '13099912345', 1218297600),
(11, '小龙女', 29, 0, '古墓掌门', '13989897754', 1378656000),
(12, '韦小宝', 24, 1, '太监总管', '15709887875', 1560927140),
(13, '郭靖', 44, 1, '中原大侠', '13576543422', 1560927140),
(14, '灭绝师太', 68, 0, '峨眉掌门', '18909887655', 1481472000),
(15, '李莫愁', 37, 0, '赤炼仙子', '13878665439', 1481472000),
(16, '洪七公', 75, 1, '丐帮帮主', '13507665428', 1234567890),
(17, '杨康', 32, 1, '金国王爷', '15805512348', 1560993700),
(18, '梅超风', 49, 0, '女魔头', '17765443256', 1560993815),
(19, '金轮法王', 52, 1, '蒙古国师', '13709887878', 1560994207),
(20, '老顽童', 68, 1, '全真教师叔', '13688776548', 1560995043),
(21, '欧阳克', 37, 1, '大淫贼', '19988776676', 1560993700);```