Blogger Information
Blog 49
fans 0
comment 3
visits 22916
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
利用composer自动加载空间,类名,文件,公共函数与方法,数据库连接与数据表操作,psr-4,第3方包,框架及其项目,php数据库框架
P粉479712293
Original
807 people have browsed it

题目1:composer安装及生成vendor包与composer.json与autoload.php文件

浏览器效果图如下:

题目2:自动加载空间及类名及其项目下的文件

1.Demo1.php文件:

  1. <?php
  2. // *在空间及类下设置一个静态方法
  3. namespace hello;
  4. class Test1Class{
  5. public static function show(){
  6. return '方法名:'.__METHOD__;
  7. }
  8. }

2.Dem2.php文件:

  1. <?php
  2. // *同一文件夹及同一空间下设有另一个类,并也有一静态方法
  3. namespace hello;
  4. class Sanguo{
  5. public static function suguo(){
  6. return '我是'.'关云长';
  7. }
  8. }

3.Suihu.php文件

  1. <?php
  2. // *在项目下加一文件,并由其静态方法
  3. namespace _12c;
  4. class Lansanbo{
  5. public static function renwu(){
  6. return '我是'.'宋江';
  7. }
  8. }

4.test1.php文件

  1. <?php
  2. // *检验能否自动加载空间及类下的静态方法
  3. namespace _221212a;
  4. // *依赖
  5. require 'vendor/autoload.php';
  6. echo \hello\Test1Class::show();
  7. echo '<hr>';
  8. echo \hello\Sanguo::suguo();
  9. echo '<hr>';
  10. echo \_12c\Lansanbo::renwu();

5.浏览器效果图如下:

题目3:自动加载数据库连接及查询数据表

1.database.php文件:

  1. <?php
  2. // *数据库连接参数
  3. return[
  4. 'dsn'=>'mysql:dbname=phpedu1',
  5. 'username'=>'root',
  6. 'password'=>'root'
  7. ];

2.connect.php文件:

  1. <?php
  2. namespace _12c_2;
  3. use PDO;
  4. // *连接数据库
  5. class Db
  6. {
  7. private $db = null;
  8. public function __construct($dsn, $username, $password)
  9. {
  10. $this->db = new PDO($dsn, $username, $password);
  11. }
  12. // *测试方法
  13. public function select($sql)
  14. {
  15. return $this->db->query($sql)->fetchAll(PDO::FETCH_ASSOC);
  16. }
  17. }

3.test2.php文件:

  1. <?php
  2. // *检验自动加载数据库连接及查询数据表
  3. namespace _12c_2;
  4. // *依赖
  5. require 'vendor/autoload.php';
  6. // *提取关联数组并转成多个变量
  7. extract(require 'config/database.php');
  8. $db = new Db($dsn, $username, $password);
  9. // *转存此$db变量
  10. // var_dump($db);
  11. $users = $db->select('select * from user');
  12. foreach ($users as $user) {
  13. printf('<pre>%s</pre>', print_r($user, true));
  14. }

4.浏览器效果图如下:

题目4:自动加载公共函数与方法

1.helper.php文件:

  1. <?php
  2. namespace _12c_2;
  3. // *求和函数
  4. function sum(...$items){
  5. return array_sum($items);
  6. }

2.test3.php文件:

  1. <?php
  2. // *检验自动加载一个求和方法
  3. namespace _12c_2;
  4. // *依赖
  5. require 'vendor/autoload.php';
  6. echo sum(4,5,6,7,8);

3.浏览器效果图如下:

题目5:专用于类的自动加载(psr-4)及其条件:

1.index.php:

  1. <?php
  2. namespace phpcn;
  3. // *类名与文件名相互一致
  4. class index{
  5. public static function show()
  6. {
  7. $name='关云长';
  8. return '姓名: ' . $name;
  9. }
  10. }

2.logon.php:

  1. <?php
  2. // *psr-4的层级管理
  3. namespace phpcn\controller;
  4. // *类名要与文件名相互一致
  5. class login{
  6. public static function show(){
  7. $name='张飞';
  8. return '姓名:'.$name;
  9. }
  10. }

3.test4.php:

  1. <?php
  2. // *检验专用于类的自动加载(psr-4)
  3. namespace _12c_2;
  4. use phpcn\index;
  5. use phpcn\controller\login;
  6. // *依赖
  7. require 'vendor/autoload.php';
  8. echo Index::show(). '<br>';
  9. echo login::show().'<br>';

4.浏览器效果图:

题目6:自动加载第3方平台上的包

1.test5.php

  1. <?php
  2. require_once 'vendor/autoload.php';
  3. use Gregwar\Captcha\CaptchaBuilder;
  4. $captcha = new CaptchaBuilder();
  5. $captcha->build();
  6. ?>
  7. <!DOCTYPE html>
  8. <body>
  9. <html>
  10. <meta charset="utf-8" />
  11. </html>
  12. <body>
  13. <h1>Inline Captcha</h1>
  14. <img src="<?php echo $captcha->inline(); ?>"/><br/>
  15. Phrase: <?php echo $captcha->getPhrase(); ?>
  16. </body>
  17. </body>

2.浏览器效果图:

题目7:自动加载第3方框架及其项目

浏览器效果图:

题目8:自动加载轻量级php数据库框架及其查询示例

1.test6.php

  1. <?php
  2. namespace _12c_2;
  3. // *引入medoo
  4. use Medoo\Medoo;
  5. // *引入pdo
  6. use PDO;
  7. // *依赖自动加载
  8. require 'vendor/autoload.php';
  9. // *采用原生PDO连接数据库
  10. $opt = [
  11. 'type' => 'mysql',
  12. 'host' => 'localhost',
  13. 'database' => 'phpedu1',
  14. 'username' => 'root',
  15. 'password' => 'root'
  16. ];
  17. // *创建一个Medoo的实例
  18. $db = new Medoo($opt);
  19. // *原生pdo语句,创建一个预处理对象$stmt
  20. $stmt = $db->pdo->prepare('select * from staff limit ?');
  21. // *1表示第1个参数,3表示引入上面的?号中
  22. $stmt->bindValue(1, 3, PDO::PARAM_INT);
  23. // *执行
  24. $stmt->execute();
  25. print_r($stmt->fetchAll(PDO::FETCH_ASSOC));

2.浏览器效果图:

Correcting teacher:PHPzPHPz

Correction status:qualified

Teacher's comments:完成的很认真, 继续加油
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post