zoukankan      html  css  js  c++  java
  • ThinkPHP空操作与命名空间

    命名空间:
    相当于一个虚拟的目录


    正常管理文件使用文件夹--物理区分


    TP框架的初始命名空间是:ThinkPHPLibrary

    在TP框架下命名空间里面使用代表的是初始命名空间(ThinkPHPLibrary)

    1.系统目录下根命名空间是ThinkPHPLibrary下面的文件夹名称命名的

    2.模块的根命名空间是以模块名命名的

    在定义命名空间的时候需要从根写起例如:HomeController 例如:ThinkModel


    如果要使用某个类文件,引入该类命名空间的时候:
    使用use关键字,后面写该类的命名空间 后面加上 "文件名"

    如果不想引入命名空间:在造类的对象的时候可以使用(初始命名空间)来找到对应的类
    例如:new ThinkPage(30);

    空操作

    当访问的方法不存在时,可以定义一个empty方法来避免空操作

    function _empty()
        {
            echo "网页不存在,请检查地址信息";
        }

    这样当访问不存在的方法时就会显示以上信息

    当访问的控制器不存在时,可以定义一个空操作器

    <?php
    namespace Homecontroller;
    use Thinkcontroller;
    
    class EmptyController extends Controller
    {
        function _empty()
        {
            echo "访问的页面不存在!";
        }
        
        
    }

    这样当访问不存在的控制器时就会显示以上信息

    跨控制器调用方法

    Main控制器下:

    function ShuChu()
        {
            //造对象
            $index = new IndexController();
            echo $index->ShuChu();
            
            //使用A方法造对象
            $index = A("Index");
            echo $index->ShuChu();
            
            //使用R方法,造对象并且调用某个特定方法
            echo R("Index/ShuChu");
        }

    Index控制器下:

    public function ShuChu()
        {
            echo "教务管理系统";
        }

    跨模块调用方法

    Home模块下:

    function ShuChu()
        {    
            $text = A("Admin/Text");
            echo $text->Text();
            
            echo R("Admin/Text/Text");
        }

    Admin模块下:

    <?php
    namespace Admincontroller;
    use Thinkcontroller;
    
    class TextController extends Controller
    {
        function Text()
        {
            echo "hello";
            return "Admin模块下的操作";
            
        }
    }
  • 相关阅读:
    Eclipse快捷键大全
    OOA/OOD/OOP
    SQL Server 存储过程(转)
    PowerDesigner 生成数据库方法(转)
    CDM和PDM的区别?(转)
    委托存在的理由
    提问回顾
    对软件工程常见概念的一些见解
    Gulp插件笔记
    Pascal-S代码注释
  • 原文地址:https://www.cnblogs.com/zk0533/p/5589895.html
Copyright © 2011-2022 走看看