实例演示子类调用父类方法,一个类实现多接口,采用trait,非自动加载与自动加载,数据库连接及数据的添加
题目1:子类调用父类里边的方法
demo1.php文件:
<?phpnamespace _221116a;// *子类调用父类里边的方法classSanGuo{publicstaticfunction welcome(){// return 欢迎,三国演义;return __METHOD__;}}classSuGuoextendsSanGuo{}echo SuGuo::welcome().<br>;echo SuGuo::class.<br>;echo call_user_func([SuGuo::cla项目网点我wcqh.cnss,welcome]);浏览器运行结果:
题目2:一个类实现多个接口
demo2.php文件:
<?phpnamespace _221116b;// *一个类实现多个接口interface iWei{publicstaticfunctionCaoCao();}interface iSu{publicstaticfunctionLiuBei();}interface iWu{publicstaticfunctionSunQuan();}classJinimplements iWei,iSu,iWu{publicstaticfunctionCaoCao(){return __METHOD__;}publicsta项目网点我wcqh.cnticfunctionLiuBei(){return __METHOD__;}publicstaticfunctionSunQuan(){return __METHOD__;}}echo call_user_func([Jin::class,CaoCao]).<br>;echo call_user_func([Jin::class,LiuBei]).<br>;echo call_user_func([Jin::class,SunQuan]).<br>;浏览器运行结果:
题目3:采用trait
demo3.php文件:
<?phpnamespace _221116c;// *采用traittrait tSa项目网点我wcqh.cnnGuo{publicstaticfunction zgl(){return __METHOD__;}}trait tSuiHu{publicstaticfunction sj(){return __METHOD__;}}classStudent{use tSanGuo;use tSuiHu;}echo call_user_func([Student::class,zgl]).<br>;echo call_user_func([Student::class,sj]).<br>;浏览器运行结果:
题目4:非自动加载与自动加载
Demo1.php文件:
<?php// *实现自动所需的3个条件// *1.一个文件只项目网点我wcqh.cn有一个类// *2.这个类名和文件名称必须一致// *3.这个类的命名空间,必须映射到类文件所在的路径namespace admin\controller;classDemo1{publicstaticfunction index(){return __METHOD__;}}Demo2.php文件:
<?php// *实现自动所需的3个条件// *1.一个文件只有一个类// *2.这个类名和文件名称必须一致// *3.这个类的命名空间,必须映射到类文件所在的路径namespace admin\controller;classDemo2{publicstaticfunction index(){return项目网点我wcqh.cn __METHOD__;}}Demo3.php文件:
<?php// *实现自动所需的3个条件// *1.一个文件只有一个类// *2.这个类名和文件名称必须一致// *3.这个类的命名空间,必须映射到类文件所在的路径namespace admin\controller;classDemo3{publicstaticfunction index(){return __METHOD__;}}demo4.php文件:
<?phpnamespace admin;// namespace admin\controller;// *非自动加载下的完全限定名称,限定名称,非限定名称这三种方法// *自动加载器下的完全限项目网点我wcqh.cn定名称,限定名称,非限定名称这三种方法// *自动加载器下判断类文件是否存在// *一行代码spl_autoload_register(function($class){// require __DIR__ . DIRECTORY_SEPARATOR. $class..php; $path = str_replace(\\, DIRECTORY_SEPARATOR, $class);// require $path..php; $file = $path..php;// *判断是否存在\\分隔的类文件,如果有则依赖该文件if(file_exists($file)){require $file;}// requi项目网点我wcqh.cnre $class..php;});// echo __NAMESPACE__.<br>;// // *可使用非自动加载// require __DIR__ . /admin/controller/Demo1.php;// require __DIR__./admin/controller/Demo2.php;// require __DIR__./admin/controller/Demo3.php;// *访问3个控制器中的方法(完全限定名称)echo \admin\controller\Demo1::index().<br>;echo \admin\controller\Demo2::i项目网点我wcqh.cnndex().<br>;echo \admin\controller\Demo3::index().<br>;// *访问3个控制器中的方法(限定名称(相对路径))echo controller\Demo1::index().<br>;echo controller\Demo2::index().<br>;echo controller\Demo3::index().<br>;// *非限定名称: 相对路径use admin\controller\Demo1;use admin\controller\Demo2;use admin\controller\Demo3;echo Demo1::index(项目网点我wcqh.cn).<br>;echo Demo2::index().<br>;echo Demo3::index().<br>;浏览器运行结果:
题目5:利用autoload.php文件代替自动加载器
demo5.php文件:
<?php// *利用autoload.php文件代替自动加载器namespace admin\controller;requireautoload.php;echo Demo1::index().<br>;echo Demo2::index().<br>;echo Demo3::index().<br>;autoload.php文件:
<?phpspl_autoload_register(functi项目网点我wcqh.cnon($class){// echo $class;//require __DIR__ . DIRECTORY_SEPARATOR. $class..php; $path = str_replace(\\, DIRECTORY_SEPARATOR, $class);// require $path..php; $file = $path..php;// *判断是否存在\\分隔的类文件,如果有则依赖该文件if(file_exists($file)){require $file;}// require $class..php;});浏览器运行结果:
题目6:数据库的连接及数据的添加
connect.php文件:
<?ph项目网点我wcqh.cnpnamespace db2;// *连接数据库// *1.连接数据库首先要加这句use PDO;// *2连接数据库// $dsn=mysql:host=localhost;dbname=phpedu1;port:3306;charset=utf8;// $username=root;// $password=root;// $db=new PDO($dsn,$username,$password);$dbConfig =requiredatabase.php;// print_r($dbConfig);extract($dbConfig);$dsn = $type.:host=. $host.;dbn项目网点我wcqh.cname=.$dbname;$db =new PDO($dsn, $username, $password);// var_dump($db);database.php文件:
<?phpnamespace db3;// *数据库连接参数return[// *数据库类型type=>mysql,// *主机iphost=>localhost,// *默认数据库dbname=>phpedu1,// *默认端口port=>3306,// *默认用户username=>root,// *默认用户的密码password=>root,//* 默认字符集编码charset=>utf8,];demo6.php文件:
<?php项目网点我wcqh.cnnamespace db1;// *连接数据库// *1.连接数据库首先要加这句use PDO;// *2连接数据库require __DIR__ ./config/connect.php;// var_dump($db);demo7.php文件:
<?phpnamespace db4;use PDO;usePDOStatement;// *插入-1// * 1. 连接数据库require __DIR__ ./config/connect.php;//* 2. CURD// *新增// *INSERT INTO 表名 (字段名1,字段名2,字段名3,…) VALUES (值1,值2,值3,…)//* I项目网点我wcqh.cnNSERT 表名 (字段名1,字段名2,字段名3,…) VALUES (值1,值2,值3,…)//* 如是mysql,且单条,还可以简化// *INSERT 表名 SET 字段名1=值1,字段名2=,值2,字段名3=值3,…//* SELECT * FROM `staff` WHERE 1/** * *1. SQL关键字全部大写 * *2. 表名,字段名必须要反引号,防止和关键字冲突 */// $sql = “INSERT `staff` SET `name`=张三,`sex`=0,`email`=12345@wcqh.cn“; $sql=“INSERT INTO staff(`name`,项目网点我wcqh.cn`sex`,`eamil`)VALUES(李四,0,1234567@wcqh.cn)”;//* 创建sql语句对象// *new PDOStatement$stmt =$db->prepare($sql);// var_dump($stmt);//* 执行sqlif($stmt->execute()){ echo 插入成功;}浏览器运行结果:
© 版权声明
1.如需技术支持联系QQ:1339833655
2. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
3. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
4. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
5. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
6. 如有链接无法下载、失效或广告,请联系管理员处理!
7. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
8. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员!
THE END
暂无评论内容