因项目紧急只留给了我4周时间学习php。谨以此文记录我的php学习历程,仅供参考,若有错误请指正。

之前对php有过一些了解,一些语法和习惯和C#差距有些大,所以第一天准备对php中的符号有个全面的了解。在此感谢网上的一些资料是我轻松的找到我所要的。

  • $,变量定义的标志符号,PHP 中的所有变量都是以 $ 符号开始的。我们一般都能看到类似代码,php中变量没有声明类型的限制这点与js类似。
  1. $var_name = value;
    <?php
    $number = 16;
    echo $number
    ?>
  • $this 在php面向对象编程中很常见的一个符号, 其意义是实例化后的具体对象,一般在class中的函数中来引用本类已定义的变量(方法),常见用法在子类使用父类中的方法(变量)。
  • => 是数组成员访问符号(感谢百度)

    -> 是对象成员访问符号

    比如:

    $array = array("site map"=>"map.php"); //定义了一个数组,包含一个数组成员:键名为site map,值为map.php
    $this->$name = $value

    $this 在php语言里是个特定的变量,它代表了类本身,->是访问其类成员的操作符,$this->$name = $value,这句代码意思是:将当前类的name变量的值设置为 $value.

  • :: 类中静态方法和静态属性的引用方法,类似与C#中对静态方法的引用

    例如

    class Test{
    public static $test = 1;
    public static function test(){
    }
    }

    可以不用实例化对象直接使用 Test::$test 来取得$test属性的值
    静态方法调用也同理Test::test(); 直接调用静态方法test  -------------(百度知道)

  • _ 与 _ _但下划线与双下划线。 加一个为私有的,加两个一般都是系统默认的,系统预定义的,即所谓:“魔术方法”与“魔术常量”
    PHP双下划线函数即“魔术方法”:
    1、 __construct、__destruct
    __construct 构造方法,当一个对象创建时调用此方法。
    __destruct 析构方法,PHP将在对象被销毁前(即从内存中清除前)调用这个方法。如果你想明确地销毁一个对象,你可以给指向该对象的变量分配任何其它值.通常将变量赋值勤为NULL或者调用unset.
    2、__clone
    PHP5中的对象赋值是使用的引用赋值,此时,对象会自动调用__clone魔术方法。
    3、__toString
    __toString方法在将一个对象转化成字符串时自动调用,比如使用echo打印对象时。
    (出处:http://zbl19830728.blog.163.com/blog/static/4777639020113832554982/)(寻找自百度)

    PHP起止为双下划线的常量即为“魔术常量”:
    __LINE__文件中的当前行号。
    __FILE__文件的完整路径和文件名。
    __DIR__文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。它等价于 dirname(__FILE__)。除非是根目录,否则目录中名不包括末尾的斜杠

  • &符号 引用,比较麻烦的一个地方,可以参考(http://blog.snsgou.com/post-245.html),我的理解如果加&符号,仅相当于给一个变量别名如:                                                                                         
       $oGoods=&$this->app->model('brand'); //oGoods 实际就是后面一长串的别名,而并非是一个新的变量

以上就是第一天需要配置环境之类的的学习内容不是很多,不过以上符号搞明白基本就可以看明白代码了。

30天的php学习之路——第一天开端的更多相关文章

  1. [EntLib]微软企业库5.0 学习之路——第一步、基本入门

    话说在大学的时候帮老师做项目的时候就已经接触过企业库了但是当初一直没明白为什么要用这个,只觉得好麻烦啊,竟然有那么多的乱七八糟的配置(原来我不知道有配置工具可以进行配置,请原谅我的小白). 直到去年在 ...

  2. Vue学习之路第一篇(学习准备)

    1.开发工具的选择 这个和个人的开发习惯有关,并不做强求,厉害的话用记事本也可以.但是我还是建议用人气比较高的编辑工具,毕竟功能比较全面,开发起来效率比较高. 我之前写前端一直用的是sublimete ...

  3. ExtJS学习之路第一步:对比jQuery,认识ExtJS

    最近纷杂的事情比较多了,奔波ing!所以,Node.js 和Canvas动画系列都停止了,等稳定了再重拾书本继续学习!因为某种原因最近在看ExtJS,分享下学习的心得,希望对同道中人有所帮助. 第一用 ...

  4. GIT学习之路第一天 简介及其安装

    本文参考廖雪峰老师的博客进行总结,完整学习请转廖雪峰博客 Git是什么? Git是目前世界上最先进的分布式版本控制系统(没有之一). Git有什么特点?简单来说就是:高端大气上档次! 那什么是版本控制 ...

  5. python学习之路 第一天

    1.Python 3 安装. 2.Python 开发工具 PyCharm安装. 3.print("hello world!")  #打印hello world!  注:Python ...

  6. #Java学习之路——第一部分总结

    今天主要是Java的入门以及idea的安装说实话,没有什么有技术含量的东西,发的也全是皮毛,但是在数组部分有很多细节需要注意,在JDK环境变量配置的地方不光光只有windows 的环境配置,还要掌握补 ...

  7. python学习之路-第一天-接触python

    我的入门就决定用<简明Python教程> <简明Python教程> 1. python的优势 简单:专注于解决问题而不是关注语言本身 易学:容易上手 开源.免费 可移植性非常强 ...

  8. java 学习之路第一节

    一.安装mysql驱动:http://mvnrepository.com/search?q=mysql-conn 二.看数据库中有什么表安装:navicat for MySQL 文件类写数据库查询: ...

  9. Python学习之路-Day1-Python基础

    学习python的过程: 在茫茫的编程语言中我选择了python,因为感觉python很强大,能用到很多领域.我自己也学过一些编程语言,比如:C,java,php,html,css等.但是我感觉自己都 ...

随机推荐

  1. 修改linux的hosts 后提示“无效的参数”

    碰到个问题,修改linux的主机名问题. vim /etc/hosts 192.168.154.129 129192.168.154.132 132192.168.154.133 133 本地ip是1 ...

  2. 一步步构造自己的vue2.0+webpack环境

    前面vue2.0和webpack都已经有接触了些(vue.js入门,webpack入门之简单例子跑起来),现在开始学习如何构造自己的vue2.0+webpack环境. 1.首先新建一个目录vue-wk ...

  3. jQuery源码分析系列

    声明:本文为原创文章,如需转载,请注明来源并保留原文链接Aaron,谢谢! 版本截止到2013.8.24 jQuery官方发布最新的的2.0.3为准 附上每一章的源码注释分析 :https://git ...

  4. Bootstrap相关资料

    WEB项目中,使用Bootstrap较多.但是一些插件却比较确实,所以整理了一份Bootstrap相关插件的地址.基本满足日常WEB开发中插件需求.并且还挺好用的 bootstrap说明文档,有问题可 ...

  5. 欢迎使用 MWeb

    首先介绍一下 MWeb 是什么,MWeb 是专业的 Markdown 写作.记笔记.静态博客生成软件.MWeb 使用的是 Github Flavored Markdown 语法,在使用 MWeb 前, ...

  6. 解决Jquery Kendo.xxx is not a function 的方法

    不知道大家遇到过没有,要同时间使用Telerick 和Kendo的时候 这个问题搞了我好多天,其实解决方法很简单,就是在LAYOUT里面先写TELERIK的注册脚本, 再写KENDO的. @(Html ...

  7. 匹夫细说C#:委托的简化语法,聊聊匿名方法和闭包

    0x00 前言 通过上一篇博客<匹夫细说C#:庖丁解牛聊委托,那些编译器藏的和U3D给的>的内容,我们实现了使用委托来构建我们自己的消息系统的过程.但是在日常的开发中,仍然有很多开发者因为 ...

  8. 1.C#WinForm基础制作简单计算器

    利用c#语言编写简单计算器: 核心知识点: MessageBox.Show(Convert.ToString(comboBox1.SelectedIndex));//下拉序号 MessageBox.S ...

  9. .Net语言 APP开发平台——Smobiler学习日志:如何快速实现快递信息流的效果

    最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 样式一 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的&qu ...

  10. IL接口和类的属性

    上一篇文章学习了IL的入门,接下来我们再通过两个例子来了解下类的属性.构造函数以及接口的使用 一.类的属性.构造函数 1.先看下我们要构建的类的C#代码,然后再进行IL的实现,示例代码如下: [Ser ...