深爱那片海 发表于 2015-2-4 00:28:58

PHP网页编程之关于PHP中的Class的几点团体意见

多个成员之间重复做相同的工作,很容易因为交流沟通的时候没有进行一致性的文档要求而出现不明错误,严重影响开发进度,导致在预定时间内无法完成该项目或者完成的项目跟原先计划所要实现的项目功能不符合。   以我的概念来讲说PHP中的Class,用于表达的言语都长短正式的言语,也不克不及肯定是不是准确。

创立一个类很复杂:

class my_class {}


  类究竟干甚么呢?良多人都说是甚么黑匣子,我在这里称它为一个自力的全体。咱们只晓得类名,而不晓得外面有甚么器材。那末,该若何利用这个类呢?
  起首:要晓得它外面是不是界说了公共的变量--专业术语上称它为“属性”。
  其次:要晓得它外面界说了甚么函数--专业术语中称它为“办法”。
  我都被这些专业术语弄懵懂了,所以爽性不睬它了。

  类中的若何界说公共变量,它有甚么感化呢?

  很复杂,咱们来扩大 my_class 类:

class my_class
{
var $username;
}


  看下面很复杂,咱们界说了一个公共的变量,只是用 var+空格+通俗变量名 组成。它有甚么用呢?思索一下函数中,假如咱们要会见函数外的变量,是否是要先 global 一下呢?这个想完成的后果也是如斯,它是想让这个类中的一切函数都能会见它,而它区分于函数的一个中央,是类的内部也能够随时会见和掌握这个变量,我随后再讲内部若何会见它。还有一个区分,不克不及用庞杂的语句给这个变量赋值(详细的等了解了类今后本人去看划定规矩)。

  给它一个默许值:

class my_class
{
var $username = "深空";
}


  OK,界说了一个公共的变量了,接上去界说一个函数(也就是所谓的“办法”):

class my_class
{
var $username = "深空";

function show_username()
{
}
}


  这个界说函数跟通俗的界说函数模式上没甚么区分了。复杂就好,界说一个打印 $username 的函数:

class my_class
{
var $username = "深空";

function show_username($username)
{
echo $username;
}
}


  到这里能够某些人入手下手含混了,呵呵,最关头的就是这里了,看清晰了。如今有三个 $username 了。究竟哪一个是哪一个啊~~

  函数所带的形参,不必注释了吧?这个函数功效就是打印形参所吸收的值,也就是假如:

show_username("猪头深空");


  那末它将打印 “猪头深空” ,就这么复杂。

  怎样会见这个函数?一定不是我下面说的那样直接 show_username("猪头深空"); 了,别急,类有类的一套。以下:

$Name = new my_class();


  如许就初始化下面的谁人 my_class 的类了,并把这个对象赋给变量 $Name ,你可以如许了解,这个变量就代表全部类了,呵呵。

  利用类中的函数:

$Name->show_username("猪头深空");


  晕了,为何这么庞杂?还要箭头?其实很抽象的。原本已把类给了变量 $Name 了是吧?也就是 $Name 代表了这个类,然后用一个箭头指向类中的 show_username 这个函数。就是这么复杂,也就是说,这个函数是这个类中的,而不是其他的函数--你就了解为暗示一个区分吧,呵呵。

  碰运气哦,打印出 “猪头深空” 这四个字了。你说为何要这么庞杂?用函数不是也能完成么?我说,这么复杂的你固然看不出优点了,咱们持续扩大。

  还有一个疑问是:方才说的“公共的变量”怎样一点用途都没有呢?为何这个函数不会主动吸收这个公共变量 var $username 中的默许值?也就是假如我利用:

$Name->show_username($username);


  会有甚么了局呢?谜底是没有任何输入。由于你没有给形参 $username 一个值。

  那末该怎样利用这个公共的变量?咱们来修正一下这个类:

class my_class
{
var $username = "深空";

function show_username()
{
echo $this->username;
}
}


  哇靠,不是吧,这回连形参都没有了?还多了一个$this->,晕了不是,呵呵。其实这也是类的一个最大的便利的地方。
  $this 的感化:会见一个公共的变量,或类外面的函数。
  会见?这么专业?其实就是用 $this->username 来取代 var $username 罢了拉,$this 用来讲明它是公共的、可以会见的、函数内部的器材(好比其他变量或函数)。

碰运气:

$Name->show_username();


  看到了吧,终究打印 “深空” 这两个字了,娃哈哈。

  我不打印“深空”这两个字,我要打印“猪头深空”,怎样办?很复杂,咱们给这个公共变量从头赋值拉。服了你了。

$Name->username = "猪头深空";


  这个能分明意思么?$Name->username 暗示的是类外面的这个公共变量。等号赋值不必我注释了。

  咱们再来打印看看:

$Name->show_username();


  哈哈,终究打印“猪头深空”了。不错吧,很便利吧,不必形参也能恣意修正打印值哦~~。

  不外单单打印一个称号也太没意思了,咱们说点接待的话吧,来扩大一下这个类,创立一个名叫 Welcome 的函数:

class my_class
{
var $username = "深空";

function show_username()
{
echo $this->username;
}

function Welcome()
{
}
}


  恩,完成甚么功效好呢?复杂点吧,就完成在名字后面有 “接待” 两个字好了

class my_class
{
var $username = "深空";

function show_username()
{
echo $this->username;
}

function Welcome()
{
echo "接待";
$this->show_username();
}
}


  第二次看到 $this 了吧?和前次有点分歧,$this->show_username(); 干甚么用呢?指向类中的一个函数,其实它就是挪用 show_username 这个函数,用 $this 来暗示这个函数在类中而且和 Welcome 函数平行,而不是在其他中央(好比Welcome函数中)。

  Welcome 函数完成的功效很复杂,起首打印两个字"接待",然后接下去履行 show_username 函数,打印名字。

  来尝尝这个函数吧:

$Name->Welcome();


  看到了吧,打印出“接待深空”这四个字了。

  可是我要打印“接待猪头深空”,怎样办?我服了你了,咱们给公共变量 var $username 一个值吧:

$Name->username = "猪头深空";


  接下去打印接待语:

$Name->Welcome();


  嘿嘿,终究打印“接待猪头深空”了。

  怎样?分明了类的用法了么?优点在于可以挪用类中的恣意函数,只需用 $this 指出来,可以改动一个公共变量的值,可以在类中的函数中利用这个公共变量。………多了去了,它的使用守候你去发明了。

不过还好,PHP语言给出的语法错误很详细,只要稍微熟悉一点之后,看错误提示就能很容易找出错误所在的。PHP还有一个特别好用的调试功能,在PHP语句中,你可以随时用echo来输出结果。

变相怪杰 发表于 2015-2-5 16:57:36

没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。

活着的死人 发表于 2015-2-7 14:28:56

本文当是我的笔记啦,遇到的问题随时填充

谁可相欹 发表于 2015-2-9 22:03:07

遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。

仓酷云 发表于 2015-2-27 23:01:34

学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。

小魔女 发表于 2015-3-3 17:13:11

要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。

蒙在股里 发表于 2015-3-6 17:01:12

使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的

金色的骷髅 发表于 2015-3-7 14:42:14

不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。

老尸 发表于 2015-3-15 04:00:00

至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。

只想知道 发表于 2015-3-21 17:42:32

微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox支持的不是很好,所以能少用还是少用的好。

海妖 发表于 2015-3-31 23:35:27

因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax

第二个灵魂 发表于 2015-4-1 01:46:10

php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。

小女巫 发表于 2015-4-1 17:09:52

遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。

飘灵儿 发表于 2015-4-7 20:55:55

环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。

柔情似水 发表于 2015-4-15 08:22:31

在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。

分手快乐 发表于 2015-5-12 13:11:17

兴趣是最好的老师,百度是最好的词典。

乐观 发表于 2015-6-5 10:21:42

要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。

愤怒的大鸟 发表于 2015-6-9 01:07:16

基础有没有对学习php没有太大区别,关键是兴趣。

精灵巫婆 发表于 2015-7-4 01:16:32

装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。

深爱那片海 发表于 2015-7-9 16:53:13

学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
页: [1]
查看完整版本: PHP网页编程之关于PHP中的Class的几点团体意见