仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1503|回复: 19
打印 上一主题 下一主题

[学习教程] PHP网页设计关于 PHP 中的 Class 的几点团体意见

[复制链接]
愤怒的大鸟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:19:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
最近陆续的有人问我学习php的心得,现在整理为下面,希望可以对大家有些帮助。   刚在大抵阅读了一下首页更新的一篇有关Class的文章,很不错,建议看看:
http://www.phpe.net/articles/389.shtml

  对类的探索~~俺用了半年工夫才也许了解类的感化和完成。次要是没有一篇能让我了解的文章(之前没接触过任何OO的器材)。
  以我的概念来讲说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的网站,尤其有很多经典的文章,多读读这些文章显然是有好处的。
飘飘悠悠 该用户已被删除
沙发
发表于 2015-2-4 11:48:23 | 只看该作者
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
admin 该用户已被删除
板凳
发表于 2015-2-8 14:19:36 | 只看该作者
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
地板
发表于 2015-2-25 17:12:04 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
精灵巫婆 该用户已被删除
5#
发表于 2015-3-8 16:44:23 | 只看该作者
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
简单生活 该用户已被删除
6#
发表于 2015-3-16 05:53:40 | 只看该作者
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
灵魂腐蚀 该用户已被删除
7#
发表于 2015-3-22 20:13:51 | 只看该作者
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
小魔女 该用户已被删除
8#
发表于 2015-3-27 00:10:01 | 只看该作者
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
海妖 该用户已被删除
9#
发表于 2015-3-29 17:18:01 | 只看该作者
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
爱飞 该用户已被删除
10#
发表于 2015-4-1 08:10:52 | 只看该作者
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
愤怒的大鸟 该用户已被删除
11#
 楼主| 发表于 2015-4-13 00:57:32 | 只看该作者
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
小妖女 该用户已被删除
12#
发表于 2015-4-16 00:53:13 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
分手快乐 该用户已被删除
13#
发表于 2015-4-17 17:13:44 | 只看该作者
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
乐观 该用户已被删除
14#
发表于 2015-4-17 17:47:07 | 只看该作者
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
活着的死人 该用户已被删除
15#
发表于 2015-4-26 19:12:10 | 只看该作者
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
兰色精灵 该用户已被删除
16#
发表于 2015-5-6 23:09:04 | 只看该作者
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
变相怪杰 该用户已被删除
17#
发表于 2015-5-9 22:02:31 | 只看该作者
环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。
若天明 该用户已被删除
18#
发表于 2015-6-11 11:10:22 | 只看该作者
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
老尸 该用户已被删除
19#
发表于 2015-7-2 09:13:36 | 只看该作者
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
蒙在股里 该用户已被删除
20#
发表于 2015-7-11 23:42:20 | 只看该作者
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-2 00:56

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表