final关键字

1.final可以修饰方法和类,但是不能修饰属性;

2.Final修饰的类不能被继承;

3.Fina修饰的方法不能被重写,子类可以对已被final修饰的父类进行访问,但是不能对父类的方法进行重写。

扩展内容:

类的自动加载:

什么是类的自动加载?

Spl_autoload_register():注册给定的函数作为__autoload()函数的实现

类的自动加载

在最开始使用的是__autoload()进行自动加载,但是在PHP5.3之前,__autoload函数抛出的异常不能被catch语句块捕获并会导致一个致命的错误,出现spl_autoload_register(),__autoload()无法进行修正,如果一旦修正,就会涉及源代码。对于__autoload()官方只是不推荐使用,但是不代表不使用,在平时的某些练习时使用__autoload()也是很方便的。

命名空间:

什么是命名空间:从广义上来说,命名空间是一种封装事物的方法。

简单来说其实

关键字:namespace

在一个页面可以定义多个命名空间,但是尽量在一个页面使用一个命名空间

namespace必须声明在所有代码的最前面。

__NAMESPACE__:魔术常量,当前定义的命名空间,如果没有声明命名空间的话,默认返回一个空的字符串。

几个魔术常量:

__LINE__:返回当前的行数

__FILE__:当前正在执行的文件的绝对路径

__DIR__:当前正在执行的文件夹的路径(绝对路径)

__FUNCTION__:

在命名空间中起别名:

Use:

使用use可以指定加载的命名空间及其对应的类,同时在类名后面可以使用as关键字指定某个类的别名,一旦起了别名后吗,在当前文件中就可以使用这个别名来创建对应的类的对象

起别名的目的是为了简化。

final关键字,类的自动加载,命名空间的更多相关文章

  1. 浅析PHP类的自动加载和命名空间

    php是使用require(require_once)和include(include_once)关键字加载类文件.但是在实际的开发工程中我们基本上不会去使用这些关键字去加载类. 因为这样做会使得代码 ...

  2. thinkphp系列:类的自动加载是如何设计的

    在使用框架开发时,可以发现框架有很多核心类,却很少看到显示的引入某个文件的代码,这是因为框架都采用了类的自动加载机制,即使用到类时,框架会自动找到该类所在文件的位置并引入该文件.为了更容易看出代码思路 ...

  3. PHP面向对象学习-属性 类常量 类的自动加载 构造函数和析构函数 访问控制(可见性)

    在类的成员方法里面,可以用 ->(对象运算符):$this->property(其中 property 是该属性名)这种方式来访问非静态属性.静态属性则是用 ::(双冒号):self::$ ...

  4. Yaf零基础学习总结5-Yaf类的自动加载

    Yaf零基础学习总结5-Yaf类的自动加载 框架的一个重要功能就是类的自动加载了,在第一个demo的时候我们就约定自己的项目的目录结构,框架就基于这个目录结构来自动加载需要的类文件. Yaf在自启动的 ...

  5. PHP面向对象----- 类的自动加载

    1.类的自动加载 spl_autoload_register函数 test.php <?php spl_autoload_register('autoload'); // require_onc ...

  6. php composer 实现类的自动加载

    我们在开发项目中会经常用到第三方的类库插件,但是如果每次需要使用的时候都会在代码的某一处去引入,然后在实例化,这样做感觉很不方便,那么怎么实现自动加载呢,下面简单介绍使用composer实现自动加载: ...

  7. 再谈 tp的 实例化 类 的自动加载

    表示一个域名下的所有/任何主机 使用 的格式是: [*.] example.com 其中 , example.com叫着 裸域名. (这个example.com/net/org不能被注册, 被保留) ...

  8. tp5底层源码分析之------tp5.1类的自动加载机制

    tp框架作为国内主流框架,目前已经发布了6.0版本,相当于3.*版本是进行了重构,今天我们从源码的角度来研究下tp5.1自动加载的实现 作为单入口框架,从入口文件看起,入口文件在public/下,那么 ...

  9. Drupal如何实现类的自动加载?

    Drupal通过spl_autoload_register()注册类加载器实现自动加载: function _drupal_bootstrap_database() { // ... .... spl ...

随机推荐

  1. jsp基本概念

    服务器启动的时候执行初始化init方法,只执行一次 每次请求都会执行一次service方法 服务器停止的时候执行destroy方法,也是只执行一次 <%! //全局变量 int initNum= ...

  2. CSS 浏览器兼容

    1.  兼容 IF <!--[if lte IE 7]> <style type="text/css"> .menu { position:relative ...

  3. Azure一个Cloud Service支持多个公网地址

    Azure刚刚发布在同一个Cloud Service下支持多个公网IP地址的功能. 这个功能主要是用于: 当相同的端口需要公用相同的LoadBalance时. 比如: 一种使用场景是多组Web服务器被 ...

  4. ELK安装配置简单使用

    ELK是三款软件的总称,包括了elasticsearch.logstash.kibana,其实在生产使用中,我们还需要使用到其他的更多辅助软件来更好更合理的收集展示数据. Elasticsearch: ...

  5. UDP 编程 客服咨询回复

    package 网络编程_客户咨询; import java.io.IOException; import java.net.DatagramPacket; import java.net.Datag ...

  6. JS极品日历

    <!DOCTYPE><html><head><meta http-equiv="Content-Type" content="t ...

  7. reservoir sampling / random shuffle

    randomly choose a sample of k items from a list S containing n elements, the algorithm may be online ...

  8. DOM,date,字符串

    ECMAscript Dom doc Bom Browerwindow --窗口. location --地址栏. history --历史. document --文档. statue --任务栏& ...

  9. Linux下使用sendEmail发送带附件的邮件(转载)

    转载:http://www.ttlsa.com/linux/use-sendemail-send-file/ sendEmail是一个轻量级,命令行的SMTP邮件客户端.如果你需要使用命令行发送邮件, ...

  10. JS判断上传文件类型

    /*   * 判断图片类型   */    function checkImgType(ths){        if (ths.value == "") {            ...