zoukankan      html  css  js  c++  java
  • SPL学习笔记(5)---函数的使用

    一:Autoload函数

         I : 为了实例化PHP中的类对象,需要通过一定的方法寻找到类的定义。

         通常情况下,类会定义在一个单独的文件中。

         现在我们建立一个文件夹libs,建立文件 Test.php和Test.class.php

         libs/Test.php 和 libs/Test.class.php 和 index.php

         1:libs/Test.php 的代码

    1 <?php
    2 class Test{
    3     public function __construct(){
    4         echo "Loading class libs/Test.php<br>";
    5     }
    6 }

          2:libs/Test.class.php 的代码

    1 <?php
    2 class Test{
    3     public function __construct(){
    4         echo "Loading class libs/Test.class.php<br>";
    5     }
    6 }

           3:index.php 的代码

     1 <?php
     2 //设置autoload的装载扩展后缀名,可以是多个,用逗号隔开,前面的优先
     3 spl_autoload_extensions('.class.php,.php');
     4 //设置环境变量
     5 set_include_path(get_include_path().PATH_SEPARATOR."libs/");
     6 //告诉php使用autoload函数自动装载类
     7 spl_autoload_register();
     8 //可以使用
     9 $obj=new Test();
    10 //输出结果 Loading class libs/Test.class.php

        II:其他方法

           __autoload()函数和自定义装载函数

           

     1 <?php 
     2 //魔术方法自动装载类,不用使用spl_autoload_register
     3 function __autoload($classname){
     4     require_once 'libs/'.$classname.".php";
     5 }
     6 //自定义装载类,可以使用spl_autoload_register("load")自动调用
     7 function load($classname){
     8     require_once 'libs/'.$classname.".php";
     9 }
    10 
    11 new Test();//输出:Loading class libs/Test.php

         load()函数可以不用require_once函数,可以使用spl_autoload函数

    1 function load($classname){
    2     spl_autoload("libs/".$classname);
    3 }

        III:Autoload()运行流程

    二:其他函数

    SplFileInfo类和SplFileObject类。

     1 <?php 
     2 $file=new SplFileInfo("demo.txt");
     3 //文件创建时间
     4 echo "FILE is CREATE at ".date("Y-m-d H:i:s",$file->getCTime())."<br>";
     5 //文件修改时间
     6 echo "FILE is Modified at ".date("Y-m-d H:i:s",$file->getMTime())."<br>";
     7 //文件大小
     8 echo "FILE size is ".$file->getSize()." bytes<br>";
     9 //读取文件内容
    10 $fileObj=$file->openFile("r");
    11 while($fileObj->valid()){
    12     //得到文件一行内容
    13     echo $fileObj->fgets();
    14 }
    15 $fileObj=null;//关闭文件,必要
    16 $file=null;//关闭文件,必要

    三:课程总结

  • 相关阅读:
    java 数字补齐0
    Ubuntu 12.04中文输入法的安装
    mac 更改word的默认显示比例为125
    接口测试的简介
    接口测试和功能测试的区别
    session、token、cookie的区别
    python接口自动化--get请求
    测试用例之正交排列法
    编写测试用例的方法
    jquery选择器
  • 原文地址:https://www.cnblogs.com/bwcx/p/spl5.html
Copyright © 2011-2022 走看看