分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

php基础-5

发布时间:2023-09-06 02:35责任编辑:熊小新关键词:暂无标签

 php的面相对象

  •  1 <?php 2 ?3 ?4 class Hello 5 { 6 ????public function say_hello() 7 ????{ 8 ????????echo "hello"; 9 ????}10 }11 12 $say = new Hello();13 $say->say_hello();

    先使用关键字class创建一个Hello类,在类里面写一个公开的方法say_hello().

          在外部调用的时候直接用关键字new 接类名然后在用一个变量接收,这样就完成了一个类的实例化。接下来这个变量既可以使用这个类的方法。

  • php的命名空间
  • 当不同文件里有多个相同的类名的时候,这时候为了便于区分,php提供了一个命名空间的概念。
  • 在index.php文件的同级目录下新建两个文件夹"first", "second".分别在里面新建两个相同名字的php文件,php文件的内容分别是:

     1 <?php 2 /** 3 ?* Created by PhpStorm. 4 ?* User: HIAPAD 5 ?* Date: 2019/3/23 6 ?* Time: 9:39 7 ?*/ 8 ?9 namespace first;10 11 12 class Hello13 {14 ????public function sayhello(){15 ????????echo "我是first里面的hello";16 ????}17 }
     1 <?php 2 /** 3 ?* Created by PhpStorm. 4 ?* User: HIAPAD 5 ?* Date: 2019/3/23 6 ?* Time: 9:40 7 ?*/ 8 ?9 namespace second;10 11 12 class Hello13 {14 ????public function sayhello(){15 ????????echo "我是second里面的hello";16 ????}17 }

    可以看到,两个php文件里面的类名,类方法名字都是一样的,这个时候我们在引入的时候可能会出现冲突。php命名空间,也就是这里面的namespace,为我们解决了这个问题。接下来我们在index.php中来引入这两个文件

     1 <?php 2 /** 3 ?* Created by PhpStorm. 4 ?* User: HIAPAD 5 ?* Date: 2019/3/23 6 ?* Time: 9:16 7 ?*/ 8 ?9 require ‘first\Hello.php‘;10 require ‘second\Hello.php‘;11 12 $i = new \first\Hello();13 $i->sayhello();14 $i = new \second\Hello();15 $i->sayhello();

    引入文件用的是require 后面接文件的相对路径的字符串形式。在类的实例化的时候,用namespace接该namespace下的类的名字来完成对应的类的实例化。      

  • 类的初始化
     1 <?php 2 ?3 class Hello{ 4 ????public function __construct(){ 5 ????????echo "hello"; 6 ????} 7 } 8 ?9 10 $i = new Hello();

php基础-5

原文地址:https://www.cnblogs.com/ivy-blogs/p/10582705.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved