- 浏览: 59597 次
- 性别:
- 来自: 深圳
最新评论
文章列表
php反射api基础
- 博客分类:
- php面向对象学习--基础篇
//反射API的demo
class product{
}
class shoe extends product{
public $a;
private $b;
function demo(){
echo __FILE__;
}
}
$shoeObj = new shoe();
$refObj = new ReflectionClass('shoe'); //通过“ReflectionClass”实例化 某个类的反 ...
模块开发设计文档的结构
- 博客分类:
- php面向对象学习--模式篇
模块开发设计文档的结构:
1.逻辑:业务逻辑
2.结构:目录文件结构
3.接口:接口定义一般分get、add、update三类公用接口,另外部分为私有接口。接口一般服务在serverice层,需要有一定的通用性
4.数据:数据库表的设计
5. 基本架构:
面向对象的基本原则:
1. 一个类只需要做好一件事,不一致额外的功能应该细分到其他类去实现
2. 一个类应该可扩展,而不可修改的,也就是说尽多可能是通过扩展的方式来新增和改变类的功能,例如使用装饰器模式,父子类继承
3. 一个不应该强依赖另一个类:例如a类 ...
1. 媒体类型:http服务器会给在http中传送的http资源对象附加一个MIME类型,接收http资源对象的客户端会根据这个类型来判断是否能够进行处理,例如浏览器就能够处理上百种mime类型的http资源对象
2. MIME类型是一种文本标记,表示一种主要对象类型和一种特定的子类型,中间用一条斜杠来分隔,例如text/html、imge/gif
3. 每个http服务器资源都有一个名字:统一资源标示符URI,给定了URI,htpp就能够解析出对象
4. URI有两种形式:url和urn (目前一般都认为uri就是url)
5. url:统一资源定位符,一般格式包括3部 ...
mysql优化点整理
- 博客分类:
- mysql
优化sql一般步骤:
1.通过show (session 或者 global) status 来查看( 当前连接 或者 数据库上次开机以来 )的服务器状态信息,默认是session
例如:
show status like '%com_%' : com_XXX表示XXX语句执行的总次数,这总次数是针对所有引擎的总和
show status like '%innodb_%': 这里面针对的就是innodb引擎的一些统计总和,例如innobb_rows_read:select的行数总和
...
centos的gd库独立编译安装
- 博客分类:
- linux
先安装 gd 前置库 : freetype ,jpegsrc,libpng。
1. freetype
wget "http://download.savannah.gnu.org/releases/freetype/freetype-2.4.0.tar.bz2"
tar jxvf freetype-2.4.0.tar.bz2
cd freetype-2.4.0
./configure --prefix=/usr/local/freetype && make && make install
2. jpegsrc
...
mysql 知识点整理
- 博客分类:
- mysql
1、整数类型:
1.1 如果最大的整数值小于255的,应该选择tinyint类型
1.2 在设置整形类型的显示长度后,如果存入的数值超过了设置的显示长度,但未超过其最大的默认显示长度(也就是不超过该类型允许的最大值)的情况下,那么该数值照样能插入成功
1.3 tinyint默认显示长度4、 smallint默认长度5、int默认长度11、bigint默认长度20
1.4 占用字节数的情况:tinyint:1字节、smallint:2字节、int:4字节(其中mysql也支持interger类型)、big:8个字节
1.5 根据占用字节来计算类 ...
一、check out跟check in对应,export跟import对应。
二、check out导出获得文件后,导出的文件仍处于SVN版本控制中,与版本库保持关联,比如你可以进行Svn Update或者Svn Commit操作。同时导出文件夹下有一个.svn的隐藏文件夹,存储着一些版本的元数据信息,通常可以再此基础上继续开发项目
三、export 简单导出一个版本的数据,导出的文件脱离SVN版本控制,修改后无进行Update和Commit操作。导出文件夹下没有.svn目录,通常用来产品发布。
四、export的使用
1、export导出的是一个没有.svn版本 ...
centos的构建具有主干、分支的svn版本库
- 博客分类:
- linux
在“centeros 安装配置svn”博文的基础上进一步学习
svn所有版本库代码所在路径(下面简称svn代码库):/var/www/svn_data/
项目代码路径:/var/www/html/ecshop/
一、创建项目的svn版本库
1、进入到svn代码库,执行命令创建项目svn文件夹:mkdir ecshop
2、提交项目svn文件夹:svnadmin create ecshop
二、在ecshop这个svn版本库中创建主干、分支、tag、文档文件夹
1、主干:svn mkdir -m "这里是svn日记&quo ...
centos的svn安装
- 博客分类:
- linux
检查已安装版本
#检查是否安装了低版本的SVN[root@localhost /]# rpm -qa subversion
#卸载旧版本SVN[root@localhost modules]# yum remove subversion
安装SVN
[root@localhost modules]# yum install subversion mod_dav_svn
确认已安装了svn模块
[root@localhost /]# cd /etc/httpd/modules[root@localhost modules]# ls | grep svnmod_authz ...
wget http://ftp.gnu.org/gnu/libtool/libtool-2.2.6a.tar.gz
#./configure
#make
#make install
然后进入jpeg-6b的源码目录,然后执行以下步骤,切记!COPY到当前目录注意后面的点(.)
网上好多都把config.sub和config.guess的路径弄错了,应该是在/usr/share/libtool/config/下,而不是在
/usr/share/libtool/下
#cd jpeg
#cp /usr/share/libtool/config/config.s ...
1.安装libmcrypt
wget http://ncu.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
./configure
make
make install
2. 安装mcrypt
wget http://sourceforge.net/projects/mcrypt/?source=typ_redirect
LD_LIBRARY_PATH=/usr/local/lib ./configure
make
make install
3.进入ph ...
mysql优化之profile查询分析
- 博客分类:
- mysql
通过慢日志查询可以知道哪些SQL语句执行效率低下,通过explain我们可以得知SQL语句的具体执行情况,索引使用等,还可以结合show命令查看执行状态。
如果觉得explain的信息不够详细,可以同通过profiling命令得到更准确的SQL执行消耗系统资源的信息。
这里还需要注意一点就是,需要安装profile模块才能实现。
1、不过版本要在5.0.37之后。(SHOW PROFILES and SHOW PROFILE were added in MySQL 5.0.37.)
SELECT @@profiling;
来查看是否已经启用profile,
...
memcached类学习
- 博客分类:
- php面向对象学习--基础篇
class BiMemcached{
private $id;
private $obj;
private $expiration = 0;
//new中带上唯一标示,能够创建memcached的持久化对象,所有通过相同的唯一标识值创建的实例共享同一个连接
public function __construct( $id ){
$this->obj = new Memcached( $id );
}
public functi ...
centos的nginx安装
- 博客分类:
- linux
首先nginx的安装需要依赖最基础的三个包,这里面我们不设计更多的扩展模块,只是安装最基础的三个包,
pcre 此包主要是让nginx支持正则表达式与url重写功能,就连nginx的conf文件中都有正则表达式
zlib 此包主要是对http内容进行gzip压缩,减少网络传输流量
openssl 此包主要是nginx支持https的请求
pcre下载:wget http://sourceforge.net/projects/pcre/files/pcre/8.30/pcre-8.30.tar.gz/download
解压后进入目录中 ./configure ...
php连接memcached缓存服务器的客户端有两个:一个是memcache是比较底层的开发库,一个是memcached是比较新的开发库,php安装这两个扩展中的任意一个后就可以在编写php代码时使用的memcached缓存数据,达到缓存php执行的结果,下面介绍的是后者的编译安装
1、下载libmemcached库 (安装memcached需要先安装libmemcached库)
wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
2、下载php me ...