mysql语句、类的自动加载与引用
作业标题:命名空间与mysql入门
作业内容:1. 总结mysql 常用DDL, DML语言并实操; 2.use在命名空间中的作用,如何实现自动加载带有命名空间的类?
- 总结mysql 常用DDL, DML语言并实操
DDL(Data Definition Languages)语句:即数据库定义语句,用来创建数据库中的表、索引、视图、存储过程、触发器等,常用的语句关键字有:CREATE,ALTER,DROP,TRUNCATE,COMMENT,RENAME。
DML(Data Manipulation Language)语句:即数据操纵语句,用来查询、添加、更新、删除等,常用的语句关键字有:SELECT,INSERT,UPDATE,DELETE,MERGE,CALL,EXPLAIN PLAN,LOCK TABLE,包括通用性的增删改查。
创建数据库
删除数据库
创建表
插入数据
删除数据
更新数据
查询数据 - use在命名空间中的作用,如何实现自动加载带有命名空间的类?
use 在命名空间中的作用
use 引入别的命名空间到当前空间 as 为引过来的命名空间起别名
2.use 引入别的命名空间中的类到当前空间 as 为引过来的命名空间的类起别名
主程序<?php
namespace app;
require 'app/admin/autoload.php';
// 起别名
use app\admin\controller\Login;
use app\admin\controller\User;
use app\admin\model\Login as LoginModel;
use app\admin\model\User as UserModel;
$loginController = new Login;
$loginModel = new LoginModel;
$UserModel = new UserModel;
$userController = new User;
echo $userController->index();
自动加载程序
<?php
spl_autoload_register(function($className){
// 先检查要加载的类
// echo $className.'<hr>';
// 将类的命名空间与类文件所在的路径保持一一映射
$file = str_replace('\\',DIRECTORY_SEPARATOR,$className).'.php';
// echo $file;
if(!(is_file($file) && file_exists($file)))
{
throw new \Exception('文件名不合法或者不存在');
}
require $file;
//require $className.'.php';
});
目录结构
app\admin\controller
Login.php代码<?
namespace app\admin\controller;
class Login
{
}
app\admin\controller
User.php代码<?php
namespace app\admin\controller;
use app\admin\model\User as UserModel;
class User
{
public function index()
{
$res = UserModel::getInfo();
return $res;
}
}
app\admin\model
Login.php代码<?php
namespace app\admin\model;
class Login
{
}
app\admin\model
User.php代码<?php
namespace app\admin\model;
class User
{
static function getInfo()
{
return '获取到用户信息';
}
}