首页
同乐工具集
文章打赏记录
关于
更多
友情链接
Search
1
【教程】百度网盘高速下载方法 可用 最新测试
19,660 阅读
2
免流混淆收集 免流大全
12,277 阅读
3
v2ray V2免流混淆 SSR 酸酸乳免流混淆
12,131 阅读
4
网页中显示CloudFlare(CF)节点信息
11,208 阅读
5
【停更公告】
10,878 阅读
小白
网站源码
软件收集
技术教程
WAW
资源分享
登录
Search
标签搜索
活动
教程
收集
源码
宝塔
bt
资源
Linux
php
WAW
广告
脚本
免费
公告
闲谈
分享
技术
免流
mysql
破解
网小白
累计撰写
214
篇文章
累计收到
59
条评论
首页
栏目
小白
网站源码
软件收集
技术教程
WAW
资源分享
页面
同乐工具集
文章打赏记录
关于
友情链接
搜索到
29
篇与
网站源码
的结果
2020-06-15
PHP中abstract(抽象)、final(最终)和static(静态)原理与用法详解
本文实例讲述了PHP中abstract(抽象)、final(最终)和static(静态)原理与用法。分享给大家供大家参考,具体如下: abstract(抽象) PHP 5 支持抽象类和抽象方法。定义为抽象的类不能被实例化。任何一个类,如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的。被定义为抽象的方法只是声明了其调用方式(参数),不能定义其具体的功能实现。 继承一个抽象类的时候,子类必须定义父类中的所有抽象方法;另外,这些方法的访问控制必须和父类中一样(或者更为宽松)。例如某个抽象方法被声明为受保护的,那么子类中实现的方法就应该声明为受保护的或者公有的(严格程度:private>protected>public),而不能定义为私有的。此外方法的调用方式必须匹配,即类型和所需参数数量必须一致。例如,子类定义了一个可选参数,而父类抽象方法的声明里没有,则两者的声明并无冲突。 这也适用于 PHP 5.4 起的构造函数。在 PHP 5.4 之前的构造函数声明可以不一样的。 总结: 抽象类不能被实例化; 类中有任何抽象方法那这个类也必须为抽象的; 抽象类只能申明调用方式和参数,不能定义具体功能实现; 继承抽象类的子类必须实现抽象类的所有抽象方法; 子类中实现的抽象方法的访问控制必须比父类的访问控制更严格; 子类中实现的方法的调用方式及参数数量必须与被实现的方法一致。 例: <?php abstract class AbstractClass { // 强制要求子类定义这些方法,不定义功能实现 abstract protected function getValue(); abstract protected function prefixValue($prefix); // 普通方法(非抽象方法),子类可以不重写 public function printOut() { print $this->getValue() . "\n"; } } class ConcreteClass1 extends AbstractClass { protected function getValue() { return "ConcreteClass1"; } public function prefixValue($prefix) { return "{$prefix}ConcreteClass1"; } } class ConcreteClass2 extends AbstractClass { //访问方式可以更宽松 public function getValue() { return "ConcreteClass2"; } public function prefixValue($prefix) { return "{$prefix}ConcreteClass2"; } } $class1 = new ConcreteClass1; $class1->printOut(); echo $class1->prefixValue('FOO_') ."\n"; $class2 = new ConcreteClass2; $class2->printOut(); echo $class2->prefixValue('FOO_') ."\n"; ?>
2020年06月15日
517 阅读
0 评论
0 点赞
2020-06-13
PHP随机生成中文段落示例【测试网站内容时使用】
本文实例讲述了PHP随机生成中文段落。分享给大家供大家参考,具体如下: 在创建网站的时候,很多时候都需要输入一些中文的段落来填充页面,大多数会是找一些新闻之类的来复制粘贴。 以下代码是利用php来随机生成一些中文段落,以便用来测试。 GBK版: <?php header('Content-type:text/html;charset=gbk'); function createWords($words = 128) { $seperate = array(",","。","!","?",";"); $strings = ''; for ($i=0; $i<$words; $i++) { $strings .= chr(rand(0xB0,0xD6)).chr(rand(0xA1,0xFE)); if (fmod($i, 18) > rand(10, 20)) { $strings .= $seperate[rand(0, 4)]; } } return $strings; } $paras = rand(1, 10); $strings = ''; for($i=0; $i<$paras; $i++) { $strings .= ' '.createWords(rand(100, 500)).'<br />'; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gbk" /> <title>随机生成中文段落</title> <style type="text/css"> body{ width: 960px; margin: 0 auto; } h1 { text-align: center; } </style> </head> <body> <h1>刷新页面可得到不同结果</h1> <div><?php echo $strings;?></div> </body>
2020年06月13日
492 阅读
0 评论
0 点赞
2020-06-13
Thinkphp 框架扩展之标签库驱动原理与用法分析
本文实例讲述了Thinkphp 框架扩展之标签库驱动原理与用法。分享给大家供大家参考,具体如下: 在Think\Template中标签库的体现是采用XML命名空间的方式。每个标签库对应一个标签库驱动类,每个驱动类负责对标签库中的所有标签的解析。 标签库驱动类的作用其实就是把某个标签定义解析成为有效的模版文件(可以包括PHP语句或者HTML标签),标签库驱动的命名空间位于 Think\Template\TagLib,标签库驱动必须继承Think\Template\TagLib类,例如: namespace Think\Template\Taglib; use Think\Template\TagLib; Class Test extends TagLib{ }
2020年06月13日
626 阅读
0 评论
0 点赞
2020-06-13
PHP设计模式之迭代器模式Iterator实例分析【对象行为型】
本文实例讲述了PHP设计模式之迭代器模式Iterator。分享给大家供大家参考,具体如下: 1.概述 类中的面向对象编程封装应用逻辑。类,就是实例化的对象,每个单独的对象都有一个特定的身份和状态。单独的对象是一种组织代码的有用方法,但通常你会处理一组对象或者集合。 集合不一定是均一的。图形用户界面框架中的 Window 对象可以收集任意数量的控制对象 - Menu、Slider 和 Button。并且,集合的实现可以有多种方式:PHP 数字是一个集合,但也是一个散列表,一个链接列表,一个堆栈以及队列。 例子1:电视遥控器的频道遍历 2.问题 如何操纵任意的对象集合? 如一个列表(List)或者一个集合(Set),我们又如何提供一种方法来让别人可以访问它的元素,而又不需要暴露它的内部结构? 3.解决方案 迭代器模式:使用迭代器模式来提供对聚合对象的统一存取,即提供一个外部的迭代器来对聚合对象进行访问和遍历 , 而又不需暴露该对象的内部结构。又叫做游标(Cursor)模式 。 你可能没有意识到这一点,但你每天都在使用迭代器模式 。 如在PHP开发中,它潜藏在 PHP 的数组类型和各种数组操作函数中。(其实,给你一些固有类的数组的组合和一群用这些固有类工作的可变函数,你将不得不使用这些数组来处理对象集合。这是在 PHP 中的本地数组迭代: $test = array(‘one', ‘two', ‘three'); $output = ‘'; reset($test); do { $output .= current($test); } while (next($test)); echo $output; // produces ‘onetwothree'
2020年06月13日
521 阅读
0 评论
0 点赞
2020-06-13
PHP中迭代器的简单实现及Yii框架中的迭代器实现方法示例
本文实例讲述了PHP中迭代器的简单实现及Yii框架中的迭代器实现方法。分享给大家供大家参考,具体如下: 在维基百科中我们可以看到其定义如下: 迭代器有时又称光标(cursor)是程式设计的软件设计模式,可在容器物件(container,例如list或vector)上遍访的接口,设计人员无需关心容器物件的内容。 各种语言实作Iterator的方式皆不尽同,有些面向对象语言像Java, C#, Python, Delphi都已将Iterator的特性内建语言当中,完美的跟语言整合,我们称之隐式迭代器(implicit iterator),但像是C++语言本身就没有Iterator的特色,但STL仍利用template实作了功能强大的iterator。 Iterator另一方面还可以整合Generator。有些语言将二者视为同一接口,有些语言则将之独立化。 地址:http://zh.wikipedia.org/zh-cn/%E8%BF%AD%E4%BB%A3%E5%99%A8 【Iterator的简单实现】 /** * Iterator模式的简单实现类 */ class sample implements Iterator { private $_items ; public function __construct(&$data) { $this->_items = $data; } public function current() { return current($this->_items); } public function next() { next($this->_items); } public function key() { return key($this->_items); } public function rewind() { reset($this->_items); } public function valid() { return ($this->current() !== FALSE); } } /** DEMO */ $data = array(1, 2, 3, 4, 5); $sa = new sample($data); foreach ($sa AS $key => $row) { echo $key, ' ', $row, '<br />'; }
2020年06月13日
533 阅读
0 评论
0 点赞
1
2
3
4
...
6