首页 后端开发 php教程 PHP学习-chapter2之php的特性 chapter one php代码学习 学习php要多

PHP学习-chapter2之php的特性 chapter one php代码学习 学习php要多

Jul 29, 2016 am 08:54 AM
php学习

  • 2.1命名空间:
  • 避免冲突,放在
  • 引用命名空间:use namespace Symphony/HttpFoundation;
  • 声明命名空间:namespace Oreilly;
  • 引用命名空间中的某一类:use Oreilly/con as a;
  • 引用命名空间中的函数:use func Oreilly/functionName;
  • 引用命名空间中的常量:user constant Rreilly/CONST_NAME;
  • 多重导入:文件头多个use语句
  • 在一个文件中使用多个命名空间
      • namespace Foo{}
      • namespace Bar{}
  • 全局命名空间:没有命名空间的代码,例如php原生的Exception类,前面家\访问可以做到告诉php别再当前命名空间中查找,要到全局空间中查找,$e = new \Exception()
  • 完全限定的php类名:(命名空间+类名)
  • 2.2使用接口
  • 接口定义:interface Documentable{
    • public function getId();
    • public function getContent();
    • }
  • 接口实现:class HtmlDocument implements Documentable{
    • public function _construct(){}
    • public function getId(){
      • return $this->url;
    • }
    • public function getContent(){}
  • }
  • 2.3性状trait

使用性状的原因,两个类需要十分相似的功能结构,如果采用继承的方式实现,则会破坏原本的类层次结构,如果使用接口实现,则会导致代码重复,因此引入性状

  • 定义性状:trait MyTrait{
      • //性状的实现
    • }
  • 性状的使用:class MyClass{
      • use MyTrait;
    • }
  • 2.4生成器generator,迭代器
  • 生成器即一个php函数,并使用yield关键字,生成器不返回值,只产出值,只能向前进的迭代器,适用于迭代大型的数据集。
  • 生成器的创建方式:function myGenerator(){
      • yield ‘value1’;
      • yield ‘value2’;
    • }
  • 生成器的使用:PHP返回Generator类的对象,有利于节省内存,例如需要产生一个10000范围内的整数,一种方式是在内存中创建10000个整数,而采用生成器迭代,每次只需要占用一个整数的内存即可。
  • foreach(myGenerator() as $yieldValue){
      • echo $yieldValue;//输出value1,value2
    • }
  • 2.5闭包和匿名函数
  • 闭包:创建时封装周围状态的函数,即使闭包所在的环境不存在了,闭包中封装的状态依然存在
  • 匿名函数:没有名称的函数,可以付值给变量
  • 闭包和匿名函数其实是对象,属于Closure类型的实例
  • 2.6创建闭包
  • 只要变量名后面有(,php会查找_invoke()方法,没有闭包之前php只能够进行具名回调
    • $numbersPlusOne = array_map(function ($number) { 
      • return $number + 1
      • }, [1,2,3]);
    • print_r($numbersPlusOne); // 输出 --> [2,3,4
  • 闭包的附加状态:bindTo()活着use关键字
    • 使用use关键字:function enclosePerson($name) {
      • return function ($doCommand) use ($name) { //封装了name参数
        • return sprintf('%s, %s', $name, $doCommand); 
      • }; 
    • 使用 bindTo() 方法附加闭包的状态 :
      • $this->routes[$routePath] = $routeCallback->bindTo($this,__CLASS__);
      • 第二个参数是将此闭包绑定的对象类型
  • 2.7字节码缓存Zend OPcache
  • 2.8PHP内置服务器

php -S localhost:4000

如果需要在别的机器上访问此服务器,可以设置为php -S 0.0.0.0:4000

服务器配置:php -S localhost:4000 -c app/config/php.ini

由于内置的服务器不具有.htaccess文件,因此不支持很多PHP框架,使用内置的路由脚本来替代

php -S localhost:4000 router.php

以上就介绍了PHP学习-chapter2之php的特性,包括了chapter,php学习方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何学习PHP开发? 如何学习PHP开发? Jun 12, 2023 am 08:09 AM

随着互联网的发展,动态网页的需求越来越大。而PHP作为一种主流的编程语言,被广泛应用于Web开发中。那么,对于初学者来说,如何学习PHP开发呢?一、了解PHP的基础知识PHP是一种脚本语言,可以直接嵌入HTML代码中,通过Web服务器进行解析运行。因此,在学习PHP之前,可以先了解HTML、CSS、JavaScript等前端技术基础,以便更好地理解PHP的作

PHP学习笔记:网络爬虫与数据采集 PHP学习笔记:网络爬虫与数据采集 Oct 08, 2023 pm 12:04 PM

PHP学习笔记:网络爬虫与数据采集引言:网络爬虫是一种自动从互联网上抓取数据的工具,它可以模拟人的行为,浏览网页并收集所需的数据。PHP作为一种流行的服务器端脚本语言,在网络爬虫和数据采集领域也发挥了重要的作用。本文将介绍如何使用PHP编写网络爬虫,并提供实际的代码示例。一、网络爬虫的基本原理网络爬虫的基本原理是通过发送HTTP请求,接收并解析服务器响应的H

PHP学习笔记:模块化开发与代码复用 PHP学习笔记:模块化开发与代码复用 Oct 10, 2023 pm 12:58 PM

PHP学习笔记:模块化开发与代码复用引言:在软件开发中,模块化开发与代码复用是相当重要的概念。模块化开发可以将复杂的系统分解成可管理的小模块,提高开发效率和代码可维护性;而代码复用则可以减少冗余代码,提高代码的重用性。在PHP开发中,我们可以通过一些技术手段来实现模块化开发和代码复用。本篇文章将介绍一些常用的技术和具体代码示例,帮助读者更好地理解和应用这些概

PHP学习笔记:性能分析与调优 PHP学习笔记:性能分析与调优 Oct 08, 2023 pm 03:21 PM

PHP学习笔记:性能分析与调优引言:在Web开发中,性能是一个非常关键的因素。一个高性能的网站能够提供更好的用户体验,提高用户留存率,增加业务收入。而在PHP开发中,性能的优化是一个常见且重要的问题。本文将介绍PHP中性能分析与调优的方法,并提供具体的代码示例,帮助读者更好地理解和运用这些技巧。一、性能分析的工具Xdebug扩展Xdebug是一款功能强大的P

2023年,学习PHP的最佳途径是什么? 2023年,学习PHP的最佳途径是什么? Sep 10, 2023 pm 09:16 PM

2023年,学习PHP的最佳途径是什么?随着互联网的快速发展,计算机编程成为了一项具有极高就业前景的技能。而在众多的编程语言中,PHP是一门被广泛应用于网络开发的语言。想要学习PHP,了解最佳的学习途径是非常重要的。PHP是一种开源的、服务器端脚本语言,它被用于开发动态网站和应用程序。相比于其他语言,PHP具有较低的学习曲线和广泛的应用领域,使其成为初学者的

PHP学习笔记:表单处理与数据验证 PHP学习笔记:表单处理与数据验证 Oct 09, 2023 am 08:52 AM

PHP学习笔记:表单处理与数据验证在网页开发中,表单是用户与网站进行交互的重要组件之一。当用户在网站上填写表单并提交数据时,网站需要对提交的数据进行处理和验证,确保数据的准确性和安全性。本文将介绍如何使用PHP来处理表单和进行数据验证,并提供具体的代码示例。表单提交和数据预处理在HTML中,我们需要使用<form>标签来创建一个表单,并指定表单的

学习PHP中的视频特效和滤镜处理函数方法 学习PHP中的视频特效和滤镜处理函数方法 Aug 07, 2023 pm 11:53 PM

学习PHP中的视频特效和滤镜处理函数方法PHP是一种强大的编程语言,广泛应用于Web开发领域。随着网站设计的发展,视频特效和滤镜处理越来越受欢迎。本文将介绍如何使用PHP实现视频特效和滤镜处理,以及一些常用的函数方法。一、安装ffmpeg扩展要处理视频,我们需要安装ffmpeg扩展。通过该扩展,我们可以在PHP中直接调用ffmpeg命令进行视频处理。安装过程

PHP学习笔记:前后端分离与API设计 PHP学习笔记:前后端分离与API设计 Oct 08, 2023 am 09:42 AM

PHP学习笔记:前后端分离与API设计概述:随着互联网的不断发展和用户需求的不断增加,前后端分离的开发模式越来越受到开发者的重视。前后端分离是指将前端和后端的开发分离开来,通过API进行数据交互,实现开发的高效性和灵活性。本文将介绍前后端分离的概念,以及如何设计API。前后端分离的概念:传统的Web开发模式是前后端耦合的,即前端和后端的开发是在同一个项目中进

See all articles