php类

PHP打印日志类

你离开我真会死。 提交于 2019-11-30 13:37:09
PHP简单封装个打印日志类,方便查看日志: <?php /** * Created by PhpStorm. * User: zenkilan * Date: 2019/9/26 * Time: 11:36 */ class ZenkiLog { private $rootDir; private $fileName; private $folder; private $dir; public function __construct($fileName, $folder) { $this->rootDir = "./zenkiLogs/"; $this->fileName = $fileName; $this->folder = $folder; $this->dir = $this->rootDir . $this->folder; if (is_dir($this->dir) === FALSE) { mkdir($this->dir, 0777, true); } } public function zLog($msg) { $msg = "[" . date('Y-m-d H:i:s') . "]\t" . $msg . "\n"; $logFile = $this->dir . '/' . $this->fileName . date('Y-m-d') . '.txt'

PHP 自动加载类

独自空忆成欢 提交于 2019-11-28 10:35:56
类的自动加载 (Autoloading Classes) 在编写面向对象(OOP) 程序时,很多开发者为每个类新建一个 PHP 文件。 这会带来一个烦恼:每个脚本的开头,都需要包含(include)一个长长的列表(每个类都有个文件)。 在 PHP 5 中,已经不再需要这样了。 spl_autoload_register() 函数可以注册任意数量的自动加载器,当使用尚未被定义的类(class)和接口(interface)时自动去加载。通过注册自动加载器,脚本引擎在 PHP 出错失败前有了最后一个机会加载所需的类。 Tip 尽管 __autoload() 函数也能自动加载类和接口,但更建议使用 spl_autoload_register() 函数。 spl_autoload_register() 提供了一种更加灵活的方式来实现类的自动加载(同一个应用中,可以支持任意数量的加载器,比如第三方库中的)。因此,不再建议使用 __autoload() 函数,在以后的版本中它可能被弃用。 Note: 在 PHP 5.3 之前,__autoload 函数抛出的异常不能被 catch 语句块捕获并会导致一个致命错误(Fatal Error)。 自 PHP 5.3 起,能够 thrown 自定义的异常(Exception),随后自定义异常类即可使用。 __autoload

PHP 类常量

柔情痞子 提交于 2019-11-28 10:28:41
类常量 (Class Constants) 可以把在类中始终保持不变的值定义为常量。在定义和使用常量的时候不需要使用 $ 符号。 常量的值必须是一个定值,不能是变量,类属性,数学运算的结果或函数调用。 接口(interface)中也可以定义常量。更多示例见文档中的 接口 部分。 自 PHP 5.3.0 起,可以用一个变量来动态调用类。但该变量的值不能为关键字(如 self , parent 或 static )。 定义和使用一个类常量 <?php class MyClass { const constant = 'constant value'; function showConstant() { echo self::constant . "\n"; } } echo MyClass::constant . "\n"; $classname = "MyClass"; echo $classname::constant . "\n"; // 自 5.3.0 起 $class = new MyClass(); $class->showConstant(); echo $class::constant."\n"; // 自 PHP 5.3.0 起 来源: https://www.cnblogs.com/ryanzheng/p/11404878.html

PHP 类和对象(类的属性)

感情迁移 提交于 2019-11-28 01:30:35
在类中定义的变量称之为属性,通常属性根数据库中的字段有一定的关联,因此 也可以称其为"字段"。 常见的属性声明是由关键字public,protected,var或private开头,后面跟一个普通的变量声 来组成。还有一些成员属性包括,静态static,常量const。 public :默认值,表示全局的,类内部外部子类都可以访问。 protected :表示受保护的,只有本类或子类或父类中可以访问,不允许外部调用。 private :表示私有的,只有本类内部可以使用。 Var :php 5 版本中会认为这个成员属性为public类型的属性。 Static : (1)静态的属性; (2)用static修饰的成员属性可以被同一个类的所有对象共享; (3)静态的数据是在类第一次被加载的时候就存在了内存中的数据段中(初始化静态段); (4)类中使用self::成员属性名; (5)类外 类名::成员属性名; Const : (1)类中常量属性, 在类中声明常量 必须使用const; (2)类中使用 self::成员属性名; (3)类外使用 类名::成员属性名; 注意: 属性中的变量可以初始化,但是初始化的值必须是常数 (这里的常数是指php脚本在编译阶段时就为常数,而不是在编译阶段之后在运行阶 段运算出的常数。例如,不能包含任何运算符,不能是任何变量,不能是一个函数等)。

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

*爱你&永不变心* 提交于 2019-11-28 00:30:01
在类的成员方法里面,可以用 -> (对象运算符): $this->property (其中 property 是该属性名)这种方式来访问非静态属性。静态属性则是用 :: (双冒号): self::$property 来访问。更多静态属性与非静态属性的区别参见 Static 关键字 。 Example #1 属性声明 跟 heredocs 不同, nowdocs 可在任何静态数据上下文中使用,包括属性声明。 Example #2 示例:使用 nowdoc 初始化属性 类常量 可以把在类中始终保持不变的值定义为常量。在定义和使用常量的时候不需要使用 $ 符号。 常量的值必须是一个定值,不能是变量,类属性,数学运算的结果或函数调用。 接口(interface)中也可以定义常量。更多示例见文档中的 接口 部分。 自 PHP 5.3.0 起,可以用一个变量来动态调用类。但该变量的值不能为关键字(如 self , parent 或 static )。 Example #1 定义和使用一个类常量 类的自动加载 在编写面向对象(OOP) 程序时,很多开发者为每个类新建一个 PHP 文件。 这会带来一个烦恼:每个脚本的开头,都需要包含(include)一个长长的列表(每个类都有个文件)。 在 PHP 5 中,已经不再需要这样了。 spl_autoload_register()

PHP 的一款http请求封装类

99封情书 提交于 2019-11-27 03:25:39
<?php namespace hisi; class Http { protected static $userAgent = [ 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 OPR/26.0.1656.60', 'Opera/8.0 (Windows NT 5.1; U; en)', 'Mozilla/5.0 (Windows NT 5.1; U; en; rv:1.8.1) Gecko/20061208 Firefox/2.0.0 Opera 9.50', 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 9.50', 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0', 'Mozilla/5.0 (X11; U; Linux x86_64; zh-CN; rv:1.9.2.10) Gecko/20100922 Ubuntu/10.10 (maverick) Firefox/3.6.10', 'Mozilla/5.0 (Windows

详细解读PHP类的封装

一曲冷凌霜 提交于 2019-11-26 17:18:24
[导读] public:方法或者属性在任何作用域都可以访问到,而且这是默认的,如果没有为一个属性或方法指定访问修饰符,它将是public。protected:方法或者属性只能从类或者继承类的一个成员中访问到。private:方法或者属 public:方法或者属性在任何作用域都可以访问到,而且这是默认的,如果没有为一个属性或方法指定访问修饰符,它将是public。 protected:方法或者属性只能从类或者继承类的一个成员中访问到。 private:方法或者属性只能从类的一个成员中访问到,而且无法从继承类的成员中访问到。经过private标记的方法或者属性可以在继承类中重新定义。每一个类只能看到它自己定义的私有方法。 这三个修饰符从作用范围上来讲应该像这样从大到小排序: public→protected→private之所以说是在作用范围上是因为类跟我们之前的函数一样,把一些属性和方法进行了PHP类的封装。这个封装就决定了数据的“可见性”了,这样我们在类的外面不能够随意修改所定义的属性和方法而只能够进行调用,这就是封装的好处,同时也提高了安全性。为了说明这几个修饰符的作用,请看如下代码: < ?php class myClass{ public $ public = "Public" ; protected $ protected = "Protected" ; private $

PHP类推荐:QueryList|基于phpQuery的无比强大的PHP采集工具

孤人 提交于 2019-11-25 21:24:25
QueryList的出现让PHP做采集从未如此简单。得益于phpQuery,让使用QueryList几乎没有任何学习成本,只要会CSS3选择器就可以轻松使用QueryList了,和jQuery选择器用法完全通用,它让PHP做采集像jQuery选择元素一样简单。 初探 看看PHP用QueryList做采集到底有多简洁吧! <?php use QL\QueryList; //采集某页面所有的图片 $data = QueryList::Query('http://cms.querylist.cc/bizhi/453.html',array( //采集规则库 //'规则名' => array('jQuery选择器','要采集的属性'), 'image' => array('img','src') ))->data; //打印结果 print_r($data); //采集某页面所有的超链接 //可以先手动获取要采集的页面源码 $html = file_get_contents('http://cms.querylist.cc/google/list_1.html'); //然后可以把页面源码或者HTML片段传给QueryList $data = QueryList::Query($html,array( 'link' => array('a','href') ))->data; //打印结果