DedeCms织梦网站框架

基于php的织梦网站CMS框架解压后直接放到WWW目录下浏览器访问  127.0.0.1/uploads/ 安装即可。如下图

wx_3012460 22 6-GBK.tar.gz 6.14 mb 2022-12-09

PHP设计模式之迭代器模式的使用

一说到这个模式,就不得不提循环语句。当然就是被foreach这货给整得。任何语言都有这种类似的语法可以方便快捷的对数组、对象进行遍历,从而让迭代器模式从高高在上的23大设计模式中的明星慢慢成为了路人。特别是我们这门PHP语言,PHP的强大之处就在于对于数组的灵活操作,本身就是hashmap的结构,自然会有各种方便的数组操作语法,而foreach也是我们最常用的语句,甚至比for还常用。迭代器闪亮登场,主要实现了四个方法来对集合数据进行操作。有点像学习数据结构或数据库时对游标进行的操作。用First()和Next()来移动游标,用CurrentItem()来获得当前游标的数据内容,用IsDone

maritime821 30 pdf 168.70 KB 2022-08-02

PHP请求上下文相关总结

比如说我们要使用PHP来请求一个链接地址,通常我们会使用 curl 来进行请求,但是 curl 的配置其实是比较复杂的,所以我们在简单使用的情况下会使用 file_get_contents() 这种函数来快捷地请求链接。其实,使用了上下文参数之后,file_get_contents() 不仅可以提交 POST 请求,还可以定义各种请求头内容。接下来,在我们的测试代码中,使用 file_get_contents() 来进行 POST 提交。stream_context_create() 是创建上下文环境的函数,它接收的参数是一个选项数组,里面用于定义当前请求的相关选项。在使用 file_get_

maritime821 39 pdf 75.13 KB 2022-08-02

PHP中include和require的使用详解

在PHP中,有两种包含外部文件的方式,分别是include和require。他们之间有什么不同呢?这就是它们最主要的区别,其他方面require基本等同于include。除了普通的require和include之外,还有require_once和include_once,他们的作用是:。我们来看些例子:我们可以看出当第一个_once加载成功后,后面不管是require_once还是include_once,都不会再加载这个文件了。那么,我们在日常的开发中,使用哪个更好呢?include和require的文件如果有return,可以用变量接收retun回来的数据,另外它们还可以加载非PHP文件以

maritime821 29 pdf 88.67 KB 2022-08-02

PHP垃圾回收机制的一些理解

当然这方面的内容最出名的就是 Java 中的垃圾回收机制,其实 PHP 也有相应的处理机制,当然,很多 PHPer 可能从来没接触过,今天我们就来探讨一下这方面的内容。PHP 的垃圾回收算法在之前的文章中,我们有介绍过引用计数的概念。在 PHP5.3 之前,PHP 的垃圾回收机制非常简单,就是把 refcount 为0的全部清理回收掉,在底层也就是 free 掉了。之所以强调版本,那是因为在 5.3 之后,PHP 改进了垃圾回收的算法,使这种循环引用得到了解决。PHP 会将变量的可能根放入根缓冲区。PHP 就会启动垃圾回收机制,从根缓冲区中按照深度遍历的算法来查找所有的和这个可能根相关的变量,

maritime821 26 pdf 121.12 KB 2022-08-02

PHP如何实现HTTP验证

在日常开发中,我们进行用户登录的时候,大部分情况下都会使用 session 来保存用户登录信息,并以此为依据判断用户是否已登录。但其实 HTTP 也提供了这种登录验证机制,我们今天就来学习关于 HTTP 验证相关的知识。当浏览器收到这个响应头时,就会弹出一个浏览器自带的验证框并要求输入用户名和密码。当我们填写了用户名和密码后,浏览器会在请求头中带上 Authorization 字段,并且将 base64 之后的用户名和密码发送过来。所以这种方式是非常不安全的。因为 HTTP 认证这种形式的过期时间是以浏览器为基准的。这种情况下我们只能通过 cookie 来进行退出登录的操作,如果用户退出登录了

maritime821 19 pdf 99.40 KB 2022-08-02

PHP中使用DOMDocument来处理HTML XML文档的示例

它还提供了其它的几个方法,分别是:load() 从一个文件加载XML;loadXML() 从字符串加载XML;loadHTMLFile() 从文件加载HTML。接下来我们使用和前端 JS 一样的 DOM 操作API来操作HTML里面的元素。这个例子中就是获取百度的文本框,直接使用 getElementById() 方法获得id为指定内容的 DOMElement 对象。这一段例子则是获取HTML文档中所有的图片链接。生成一个XML其实只要有一点点的前端 JS 的基础都不难看出这段代码的含义。使用 appendChild() 方法就可以为当前的 DOMElement 或者 DOMDocument

maritime821 22 pdf 96.46 KB 2022-08-02

Thinkphp5.1获取项目根目录以及子目录路径的方法实例讲解

导读:最近使用Thinkphp5.1做开发,在使用LOG_PATH常量时发生报错,因为之前一直使用5.0的框架,换到5.1版本后,出现这种情况,很明白是官方做了调整,所以特地去看了官方说明。官方文档:常量调整Thinkphp5.1取消了所有的框架内置常量,如需获取,请使用think\facade\App类的内置方法以及think\facade\Env类获取。

maritime821 20 pdf 54.75 KB 2022-08-02

PHP生成器的使用详解

它提供了一种更容易的方式来实现简单的对象迭代,相比较定义类实现Iterator接口的方式,性能开销和复杂性大大降低。然后在循环外部又写了两行 yield 分别输出了1000和1001。每次迭代都是代码执行到 yield 时动态返回的。因此,有大神将生成器说成是PHP中最被低估了的一个特性。传入的这个值将会被当做生成器当前 yield 的返回值。另外,变量获取 yield 的值,必须要用括号括起来。yield from 语法yield from 语法其实就是指的从另一个可迭代对象中一个一个的获取数据并形成生成器返回。使用 count 来获取生成器的数量将直接报 Warning 警告。直接输出将会

maritime821 23 pdf 129.15 KB 2022-08-02

详解PHP的引用计数

而括号中的 refcount 就是引用次数,is_ref 则是说明这个变量是否被引用。当我们进行普通赋值后,refcount 和 is_ref 没有任何变化,但当我们进行引用赋值后,可以看到 refcount 变成了2,is_ref 变成了1。最后我们 unset 掉 $a ,显示的就是 no such symbol 了。当前变量已经被销毁不是一个可以用的符号引用了。一是数组内部的每个元素又有单独的自己的引用计数。那么这个对象就基本不太可能会被 GC 自动销毁了。总结引用计数是了解垃圾回收机制的前提条件,而且正是因为现代语言中都有一套类似的垃圾回收机制才让我们的编程变得更加容易且安全。

maritime821 32 pdf 109.83 KB 2022-08-01