`

TP5 面向对象和命名空间

阅读更多

PHP 面向对象
在面向对象的程序设计(英语:Object-oriented programming,缩写:OOP)中,对象是一个由信息及对信息进行处理的描述所组成的整体,是对现实世界的抽象。
类 − 定义了一件事物的抽象特点。类的定义包含了数据的形式以及对数据的操作。
对象 − 是类的实例。
成员变量 − 定义在类内部的变量。该变量的值对外是不可见的,但是可以通过成员函数访问,在类被实例化为对象后,该变量即可称为对象的属性。
成员函数 − 定义在类的内部,可用于访问对象的数据。
继承 − 继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。
父类 − 一个类被其他类继承,可将该类称为父类,或基类,或超类。
子类 − 一个类继承其他类称为子类,也可称为派生类。
多态 − 多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。
重载 − 简单说,就是函数或者方法有同样的名称,但是参数列表不相同的情形,这样的同名不同参数的函数或者方法之间,互相称之为重载函数或者方法。
抽象性 − 抽象性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。一个类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。任何类的划分都是主观的,但必须与具体的应用有关。
封装 − 封装是指将现实世界中存在的某个客体的属性与行为绑定在一起,并放置在一个逻辑单元内。
构造函数 − 主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。
析构函数 − 析构函数(destructor) 与构造函数相反,当对象结束其生命周期时(例如对象所在的函数已调用完毕),系统自动执行析构函数。析构函数往往用来做"清理善后" 的工作(例如在建立对象时用new开辟了一片内存空间,应在退出前在析构函数中用delete释放)。

 

PHP 命名空间(namespace)
在PHP 5.3中加入的,如果你学过C#和Java,那命名空间就不算什么新事物。 不过在PHP当中还是有着相当重要的意义。
PHP 命名空间可以解决以下两类问题:
用户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突。
为很长的标识符名称(通常是为了缓解第一类问题而定义的)创建一个别名(或简短)的名称,提高源代码的可读性。

 

include/Site.php

<?php
namespace inc;
class Site{
	var $url;
	var $title;
	function setUrl($par){
		$this -> url = $par;
	}
	function getUrl(){
		echo $this -> url.PHP_EOL;
	}
	function setTitle($par){
		$this -> title = $par;
	}
	function getTitle(){
		echo $this->title.PHP_EOL;
	}
}

 

test.php

<?php
namespace inc;
header('Content-Type: text/html; charset=utf-8');
require 'include\Site.php';
$taobao = new Site;
$baidu = new Site;

//调用成员函数,设置标题和URL
$taobao->setTitle('淘宝');
$baidu->setTitle('百度');

$taobao->setUrl('www.taobao.com');
$baidu->setUrl('www.baidu.com');

//调用成员函数,获取标题和URL
$taobao->getTitle();
$taobao->getUrl();

$baidu->getTitle();
$baidu->getUrl();

 

效果图:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 大小: 13.9 KB
1
0
分享到:
评论

相关推荐

    TP5开发手册

    - **命名空间**:解释了如何使用命名空间来组织代码,以及命名空间的作用。 - **自动加载**:介绍了如何配置自动加载规则以自动加载类文件。 - **Traits引入**:解释了如何使用Traits来复用非继承的代码片段。 - **...

    一个基于layui为前端样式模板和tp5为php后台管理系统.zip

    TP5引入了更多的面向对象特性,如命名空间、自动加载、注解等,使得代码结构更清晰,降低了开发难度。同时,TP5内置了强大的路由、模型、视图、控制器以及数据库操作等功能,使得开发Web应用变得更加便捷。在本管理...

    TP5 快速入门

    学习ThinkPHP5.0之前,需要对面向对象和命名空间有一个基本的理解,如果对PHP相关基础知识还不熟悉,建议先去PHP手册进行学习。ThinkPHP5.0的目录结构遵循MVC(模型-视图-控制器)架构,开发者需要根据MVC的逻辑来...

    php各种框架的手册 tp3.2, tp5.0, yii2.0, mysql5.1, php5.4

    而TP5.0则是较大的升级,引入了更多现代Web开发的特性,如命名空间、注解、依赖注入等,同时也优化了性能和兼容性。 2. **Yii**: Yii是另一个高性能的PHP框架,基于组件设计,强调代码复用和面向对象编程。Yii2.0...

    ThinkPHP5文件管理平台

    ThinkPHP5(简称TP5)是基于PHP语言的轻量级MVC框架,它提倡简洁、快速、面向对象的开发方式。TP5提供了一系列的便利功能,如自动路由、模型操作、视图模板等,极大地简化了Web应用的开发流程。其核心特性包括: 1....

    基于PHP的DSShop TP5框架B2C开源商城源码(单店铺).zip

    TP5还引入了更多的面向对象特性,如命名空间、依赖注入等。 3. **B2C电商平台**:B2C指的是商家直接面向消费者进行销售的商业模式,常见的如亚马逊、淘宝等。这类平台需要具备商品展示、购物车、订单处理、支付接口...

    ThinkPHP5.1

    同时,tp5支持命名空间、自动加载、依赖注入等面向对象的特性,增强了代码的组织和管理。 3. Composer集成:虽然描述中提到有用户在安装时遇到问题,但ThinkPHP5.1本身是支持Composer的。Composer是PHP的依赖管理...

    TP5.0完全开发手册

    提供了深入的讲解,如不同路由模式的定义、命名空间和自动加载的设置、以及如何引入 Traits 来简化代码复用。 ThinkPHP 5.0的MVC架构支持多层设计,包括控制器、模型、视图的分离,以及请求处理的生命周期。在控制...

    基于PHP的TP5+VUE国际版多语言DY分享点赞任务平台源码.zip

    TP5引入了更多的面向对象特性,如命名空间、依赖注入和中间件,使得代码更加模块化和易于维护。 Vue.js是另一个重要的技术元素,它是一个渐进式的JavaScript框架,用于构建用户界面。Vue的核心库专注于视图层,易于...

    tp数据库操作[文].pdf

    - 直接实例化:`$goods = new 命名空间 GoodsModel();` - 使用D()方法:`$goods = D('模型标志');` - 使用M()方法:`$obj = M();` 和 `$obj = M('数据表标志');` - D()和M()方法在3.1.3版本中是简化new操作的...

    tp数据库操作[定义].pdf

    此外,还有其他方法如`find()`、`save()`、`delete()`等,它们构成了TP的ORM(对象关系映射)功能,方便开发者以面向对象的方式处理数据库操作。 总结起来,理解TP框架中的数据库操作,包括配置连接、Model的概念、...

    ThinkPHP5高阶实战教程 --诠释为API开发而生

    包括但不限于SQL文件的管理、版本控制系统Git的搭建、PHP面向对象思想的实战经验,以及面向对象编程中的命名空间、继承、方法封装、构造函数和析构函数的使用。这些是使用ThinkPHP5进行开发所必备的技能。 在实战...

    php,css,tp,jquery,smarty手册

    ThinkPHP 5.x版本引入了更多的面向对象设计原则,增强了性能和安全性。 【jQuery】 jQuery是一个快速、简洁的JavaScript库,它简化了HTML文档遍历、事件处理、动画制作和Ajax交互。jQuery的核心功能包括选择器...

    thinkphp5 完整版 5.0.20

    1. 命名空间与自动加载:TP5全面引入了PHP的命名空间机制,使得代码更加模块化,同时利用Composer的自动加载功能,简化了类库的引入过程,提高了代码的可维护性。 2. MVC模式:遵循Model-View-Controller的设计模式...

    Thinkphp5仿DZ应用平台源码.zip

    这个版本的Thinkphp引入了更多的面向对象设计,支持命名空间,以及增强的路由和中间件系统,使得代码组织更加清晰,提高了开发效率。此外,它还引入了Composer支持,便于依赖管理,增强了项目的可维护性。 在...

    tp5.0完全开放手册

    - **技术特性**:支持最新的PHP特性,如命名空间、 Traits 引入等;采用Composer作为依赖管理工具;针对API开发进行了大量优化。 #### 安装与配置 - **安装**:通过Composer进行ThinkPHP框架的安装。 - **开发规范*...

    PHP实例开发源码—RXThinkCMF_TP6_PRO旗舰版(php内容管理框架).zip

    1. ThinkPHP6框架:RXThinkCMF_TP6_PRO是基于ThinkPHP6构建的,这是一个流行的、开源的PHP框架,以其MVC(模型-视图-控制器)架构、面向对象的设计模式和丰富的内置功能受到广泛欢迎。ThinkPHP6引入了更多的现代PHP...

    ThinkPHP 5.0完全开发手册

    ThinkPHP 5.0是一款基于PHP的开源框架,它遵循简洁、快速和面向对象的设计原则,旨在提高开发效率和代码质量。在5.0版本中,ThinkPHP引入了许多新特性,如: 1. **快速上手**:提供了更加友好的命令行工具,支持...

    深入。NET 上部

    2. **类库与API**:.NET Framework提供了丰富的类库,这部分可能会详细讲解如何使用System.Collections、System.IO等常用命名空间,以及.NET中的数据结构和算法。 3. **面向对象编程**:此部分深入讨论面向对象设计...

Global site tag (gtag.js) - Google Analytics