php异常处理

异常处理

PHP 5 添加了类似于其它语言的异常处理模块。在 PHP 代码中所产生的异常可被 throw 语句抛出并被 catch 语句捕获。需要进行异常处理的代码都必须放入 try 代码块内,以便捕获可能存在的异常。每一个 try 至少要有一个与之对应的 catch。使用多个 catch 可以捕获不同的类所产生的异常。当 try 代码块不再抛出异常或者找不到 catch 能匹配所抛出的异常时,PHP 代码就会在跳转到最后一个 catch 的后面继续执行。当然,PHP 允许在 catch 代码块内抛出(或再次抛出re-throw)异常。

linux下编译安装与卸载 源码包软件

linux下编译安装与卸载 源码包软件

tar.gz文件的安装,是属于自己编译源代码的方法。多说一句,tar是把文件打成一个包,并不压缩;.gz

是用gzip把打成包的.tar文件压缩,所以成了一个.tar.gz的文件。 

安装的话,先解包,tar -zxvf xxx.tar.gz,这样会生成一个以文件名命名的文件夹。里面会有一些…

    

ubuntu 10.04 下编译安装最新版 VIM7.3 支持GUI(gvim)编译

ubuntu 10.04  下编译安装最新版 VIM7.3 支持GUI(gvim)编译

1下载 vim 源码,hg clone https://vim.googlecode.com/hg/ vim

2. 进入源码目录cd vim/src
安装gvim所需要的包。
sudo apt-get install libncurses5-dev libgnome2-dev libgnomeui-dev \
libgtk2.0-dev libatk1.0-dev libbonoboui2-dev libcairo2-dev libx11-dev libxpm-dev libxt-dev…

        

ubuntu 彻底删除 mysql 然后重装 mysql

sudo apt-get autoremove --purge mysql-server-5.0
sudo apt-get remove mysql-server
sudo apt-get autoremove mysql-server
sudo apt-get remove mysql-common //这个很重要
上面的其实有一些是多余的。

清理残留数据

dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P

安装 mysql

sudo apt-get install mysql-server
sudo apt-get install mysql-client
    

后期静态绑定(Late Static Bindings)

后期静态绑定(Late Static Bindings)

从PHP 5.3.0开始,PHP实现了一个叫做后期静态绑定(late static bindings)的功能,用于引用在静态继承上下文中调用的类 。

更准确地说,后期静态绑定通过存储最后一个 "非转发调用"的类名工作.  对于静态方法调用, 这是显式命名的类(通常是在::运算符左侧的一个);对于非静态方法调用,是该对象的类。 一个“转发调用”是静态的通过self::,parent::,static::调用的,或者,如果上升到类层次结构,则是由forward_static_call()调用的. 函数 get_called_class()可以用来检索调用类的名称的字符串 并且 static:: 介绍了这个类的范围。

该功能从语言内部角度考虑被命名为”后期静态绑定“。”后期绑定“的意思是说,static::不再被解析为定义当前方法所在的类,而是在实际运行时计算的。也可以称之为”静态绑定“,因为它可以用于(但不限于)静态方法的调用。  …

匿名函数


匿名函数

匿名函数(Anonymous functions),也叫闭包函数(closures),允许 临时创建一个没有指定名称的函数。最经常用作回调函数(callback)的参数。 当然,也有其他应用的情况。
 

语法

  function [&] ([parameters]) [use (lexical vars)] { body }

&是可选的,表明函数应该返回一个引用. use关键字是可选的并表明一些变量应该从当前作用域导入到闭包。

 

对象与类简介

类是属性和方法的集合,对象是类进行实例化后的产物,是一个实体。

面向对象三大特点:①封装性:封装性也称为信息隐藏,就是将一个类的使用和实现分开,只保留有限的接口(方法)与外部联系。②继承性:继承性就是派生类(子类)自动继承一个或多个基类(父类)中的属性与方法,并可以重写或添加新的属性或方法。③多态性:多态性是指同一个类的不同对象,使用同一个方法可以获得不同的结果,这种技术称为多态性。

类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,而对象的抽象就是类。…

编程需要知道多少数学知识?

下面是我在reddit的子论坛 r/learnprogramming 看到的几个帖子:

● “要成为一个优秀的程序员需要学习多少数学?

● “我应该重新学习数学吗?

● “这可能是我提问过的最愚蠢的一个问题。成为一个优秀的程序员究竟需要学习多少数学?

数学和编程有一种容易让人误解的联系。许多人认为在开始学习编程之前必须对数学很在行或者数学分数很高。但一个人为了编程的话,需要学习多少数学呢?

 …