我的php学习笔记(毕业设计)_php技巧

php语法简单,应用也非常好,而且类库强大,确实能写出很强大的服务器端。对于我这种只需要小功能服务器的人来说,再好不过了。
  单纯的说学习php,我觉得还是看手册的好。花了几天时间看了看语法,因为有编程基础,所以现在看起来就比较快了。刚用php写完一个简单的服务器,当然是有目的,准备用来支持一个订票系统的客户端。下面是我学习过程的笔记。以后也好有个回顾。
  当不存在某个类的对象时,可以通过作用域分辨符(::)来调用某个类中的方法;
  访问基类中的方法时可以写成 parent::method();
  serialize() 返回一个字符串,包含着可以储存于 PHP 的任何值的字节流表示。
  unserialize() 可以用此字符串来重建原始的变量值。
  用序列化来保存对象可以保存对象中的所有变量。对象中的函数不会被保存,只有类的名称。
  序列化与反序列化同一个对象时,可以采用包含同一对象的定义文件方法来实现。
  这是因为“new”默认并不返回引用,而返回一个拷贝。
  php5
  类与对象的特点:
  visibility:可见性
  属性的访问限度:public:任何地方都可以访问到此属性,
  protect派生类或者父类可以访问到这个属性,或者任何定义了这个属性的类内的某个项)
  private:只有类内部才能访问
  A member declared as static can not be accessed with
  an instantiated class object (though a static method can).
  Static members and methods cannot be re-defined in subclasses.
  (如果一个成员被定义为静态的,那么该成员不能被实例化对象访问,
  静态成员不能在子类中被重新定义)。
  静态定义必须在访问属性之后,如:protect static
  静态方法可以不实例化调用,所以使用静态方法时不能带有$this参数。
  静态成员不能用->来访问。
  constant:常量关键字, const 用于定义 不可改变的常量,定义时不需要使用$符号。
  定义方法一般为:const aconstant = 'constant';
  php中gloabl定义的变量是在整个页面中使用的,包括require包含的页面和include包含的页面。
  抽象类:
  抽象类不能实例化,任何带有抽象方法的类必须定义为抽象类。
  继承抽象类的话,任何在抽象类中的抽象方法都必须重写实现。这些方法的访问限度只能
  和抽象父类的方法的访问限度相同或更低。
  抽象类和抽象方法都使用 abstract作为关键字。
  对象接口(object interface)
  对象接口允许你规定哪些方法必须实现,而不是让你定义哪些方法怎么被捕捉。
  对象接口使用 interface 关键字来定义。它是一个标准的类,但是它的任何方法都没有被实现。
  任何在接口对象中的方法都必须是公有的,这是接口对象必须遵循的。
  实现一个接口必须使用implements标示,所以接口方法实现必须在一个类里面。一个类可以实现多个接口。
  重载:
  迭代器:
  迭代器可以访问类里面所有的公有对象成员。
  实现PHP5里面的迭代器接口,这样可以允许你定义,对象怎么被迭代访问。
  设计模式:
  设计模式提供了一个良好的框架来实现一些功能组织。
  工厂模式:在运行过程中实例化一个要求的对象。
  单利模式:最明显的一个例子就是:数据库连接对象。下面是一个最好的单例模式范例:
  Singleton Function

复制代码 代码如下:

  <?php
  class Example
  {
  // Hold an instance of the class
  private static $instance;
  // A private constructor; prevents direct creation of object
  private function __construct()
  {
  echo 'I am constructed';
  }
  // The singleton method
  public static function singleton()
  {
  if (!isset(self::$instance)) {
  $c = __CLASS__;
  self::$instance = new $c;
  }
  return self::$instance;
  }
  // Example method
  public function bark()
  {
  echo 'Woof!';
  }
  // Prevent users to clone the instance
  public function __clone()
  {
  trigger_error('Clone is not allowed.', E_USER_ERROR);
  }
  }

  你还可以实现php5里面的iteratoraggregate接口对象来定义自己的迭代方法。
  魔术函数:
  The function names __construct, __destruct (see Constructors and Destructors),
  __call, __get, __set, __isset, __unset (see Overloading), __sleep, __wakeup,
  __toString, __clone and __autoload are magical in PHP classes.
  这些函数在存在于每一个php类中。你不要随意使用__来定义函数,除非你真的想这个函数具有魔术功能。
  __tostring()函数,这个函数将决定一个对象转换为字符的时候将发生的事。
  final关键字:
  final关键字用来阻止应用final关键字声明的类或者方法被继承,被覆盖。
  参数类型强制:
  可以在参数前面加上类名类控制传入的参数类型。
  require() 和 include() 除了怎样处理失败之外在各方面都完全一样。
  include() 产生一个警告而 require() 则导致一个致命错误。
  换句话说,如果想在丢失文件时停止处理页面,那就别犹豫了,用 require() 吧。
  require_once() 语句在脚本执行期间包含并运行指定文件。
  此行为和 require() 语句类似,
  唯一区别是如果该文件中的代码已经被包含了,
  则不会再次包含。有关此语句怎样工作参见 require() 的文档。
  PHP 有一个类型运算符:instanceof。instanceof 用来测定一个给定的对象是否来自指定的对象类。
  代码范例:

复制代码 代码如下:

<?php
  class A { }
  class B { }
  $thing = new A;
  if ($thing instanceof A) {
  echo 'A';
  }
  if ($thing instanceof B) {
  echo 'B';
  }
  ?>

  的 PHP 代码段结束标记可以不要,有些情况下当使用输出缓冲和
  include() 或者 require() 时省略掉会更好些。
  include() 就不是这样,脚本会继续运行。同时也要确认设置了合适的include_path。
  __CLASS__ :指的是当前类。
  异常处理,根据需要扩展异常处理类exception
  require()语句包含并运行指定文件;

时间: 2024-10-02 09:45:31

我的php学习笔记(毕业设计)_php技巧的相关文章

两千行代码的PHP学习笔记汇总_php技巧

本文汇总了PHP学习中常见的各类问题,约有两千多行代码,都是非常实用的技巧.分享给大家供大家参考.具体如下: //语法错误(syntax error)在语法分析阶段,源代码并未被执行,故不会有任何输出. /* [命名规则] */ 常量名 类常量建议全大写,单词间用下划线分隔 // MIN_WIDTH 变量名建议用下划线方式分隔 // $var_name 函数名建议用驼峰命名法 // varName 定界符建议全大写 // <<<DING, <<<'DING' 文件名建议

php cookie使用方法学习笔记分享_php技巧

PHP setcookie() 函数向客户端发送一个 HTTP cookie.cookie 是由服务器发送到浏览器的变量.cookie 通常是服务器嵌入到用户计算机中的小文本文件.每当计算机通过浏览器请求一个页面,就会发送这个 cookie.cookie 的名称指定为相同名称的变量.例如,如果被发送的 cookie 名为 "name",会自动创建名为 $user 的变量,包含 cookie 的值. 必须在任何其他输出发送前对 cookie 进行赋值.如果成功,则该函数返回 true,否

PHP学习笔记之一_php技巧

配置PHP以及MySQL的过程略去,如果在Ubuntu下,参考 Ubuntu 10.04 Installation Memo 即可. 1. 基本语法 要在HTML代码中嵌入PHP脚本的方法是在<?php ?>中书写代码.向浏览器输出数据采用echo或者print函数.echo可以接受多个参数,print 只能接受一个.echo的形式是 void echo(string arg1,[,-string argn]); PHP语法允许省略括号. 例如, 复制代码 代码如下: <?php $my

Bootstrap教程JS插件滚动监听学习笔记分享_javascript技巧

本文主要来学习一下JavaScript插件--滚动监听. 1.案例 滚动监听插件可以根据滚动条的位置自动更新所对应的导航标记.你可以试试滚动这个页面,看看左侧导航的变化. 先把实现的代码上了,你可以通过测试代码先来看看效果. <!DOCTYPE html> <html> <head> <title>Bootstrap</title> <meta name="viewport" content="width=de

值得收藏的asp.net基础学习笔记_实用技巧

值得收藏的asp.net基础学习笔记,分享给大家. 1.概论 浏览器-服务器 B/S 浏览的  浏览器和服务器之间的交互,形成上网B/S模式 对于HTML传到服务器  交给服务器软件(IIS)  服务器软件直接读取静态页面代码,然后返回浏览器 对于ASPX传达服务器  交给服务器软件(IIS)   IIS发现自己处理不了aspx的文件,就去映射表根据后缀名里找到响应的处理程序(isapi,服务器扩展程序) 问题:IIS如何调用可扩展程序? 答:可扩展程序首先就是按照IIS提供的借口实现代码,所以

Bootstrap开关(switch)控件学习笔记分享_javascript技巧

bootstrap-switch插件是一个针对Bootstrap实现的开关(switch)按钮控件,可以支持尺寸.颜色等属性的自定义.开关式按钮在国内网站上使用的并不是很多,Bootstrap 的应用在国外非常流行,不知道是我们不喜欢还是使用它很麻烦很难适合网站来使用.但这种开头式按钮在手机等移动设备上的应用是最广泛的,屏幕的特性促使它更好的发展. 功能说明: 介绍chekbox与radio的两个表单的简单使用,其他更多的效果与功能可以浏览demo,点击按钮以滑动的方式进行on/off切换. 使

MVC使用Controller代替Filter完成登录验证(Session校验)学习笔记5_实用技巧

之前的学习中,在对Session校验完成登录验证时,通常使用Filter来处理,方法类似与前文的错误日志过滤,即新建Filter类继承ActionFilterAttribute类,重写OnActionExecuting方法,之后直接在需要验证的Action前加上Filter标记即可. 1. 新建登陆校验类CheckLoginAttribute using System.Web.Mvc; namespace PMS.WebApp.Models { public class CheckLoginAt

MVC项目结构搭建及单个类的实现学习笔记1_实用技巧

新人刚开始学习ASP.NET MVC,若有不足之处希望能得到您的指点,不胜感激! 先来一张项目的层级结构图: Model:模型层,主要是各种类型.枚举以及ORM框架,框架完成数据库和实体类的映射.项目中选用了微软的开源ORM框架 EntityFramework 6.0 (以下简称EF),数据库则选择了微软的轻量级数据库SQL Server Compact 4.0本地数据库(简称Compact),Compact对EF支持比较完美,又属于文档型数据库,部署起来比较简洁. DAL:数据访问层,主要是对

MVC使用Spring.Net应用IOC(依赖倒置)学习笔记3_实用技巧

      到现在,我们已经基本搭建起了项目的框架,但是项目中还存在一个问题,就是尽管层与层之间使用了接口进行隔离,但实例化接口的时候,还是引入了接口实现类的依赖,如下面的代码: private IUserService _userService; private IUserService UserService { get { return _userService ?? (_userService = new UserService()); } set { _userService = va