首页 > php代码

控制 PHP 类的实例化次数!

控制 php 类的实例化次数!为了保证服务器资源的有效利用,而且一个类比方说模板啊,数据库什么的,在一个页面内只需要实例化一次!也就是在内存中只运行一个实例!那么为了避免重复实例化,那么控制 php 类的实例化次数,是很有必要的!方法其实很简单:就是给类一个外部接口,私有化(private)构造函数,抛弃可以在类外部使用new实例化该类的方法!以下,就是我给出的一个例子,相信大家一看就明白了!( PHP5 以上版本! )

阅读全文

利用Yahoo! Search API开发自已的搜索引擎-php版

美国东部时间3月1日,雅虎公司联合创始人之一的杨致远将宣布公司的搜索网络将进入Web服务。雅虎公司在www.developer.yahoo.com网站建立了Yahoo Search Developer Network,公司计划在此纽约举行的搜索引擎战略大会(Search Engine Strategies Conference)上推出这一计划。该网络将允许开发者在雅虎搜索之上建立新的应用程序,其中包括图像、视频、新闻以及地区搜索等内容。想要使用这项服务的会员必须先去http://api.search.yahoo.com/webservices/register_application  申请一个自已的ID号,注:每个ID号每天只能搜索5000次。

阅读全文

强烈建议大家在学习PHP的时候同时学习SVN使用!

      相信很多新手在初学PHP的时候和我一样重心放在,PHP程序的开发,html代码,数据库操作,相关开发工具使用等等,往往忽略了学习版本控制软件的使用。为什么今天在新手区提出这个问题,原因就在于,想让广大朋友在使用php作为coder生涯开始的时候的能得到正规化的发展及少走一些弯路,我是走过了,这里分享我的经验,希望大家看过之后能有些心得,少走弯路。

     1.为什么我们要用版本控制

      可以说在一些小公司,或者一些不是特别依赖技术的公司,缺乏技术管理人才,由于自身的局限性,里面的开发人员往往在开发的时候也是具有很大的局限性。加上人力,周期的限制,很多都不采用版本控制,像我之前的公司,大家都是在一台测试服务器上做开发,调试端 在服务器。这样有什么问题?第一,很可能我们同时几个人在修改一个页面而相互不知情,这样后保存的人很可能覆盖掉前者所做的改动,如果之前没有备份,那结 果是可怕的。想避免,你就要等别人改完,这是开发就不能并行操作。第二,当你做了大量的修改,由于需求的变化,我们很有可能要将代码改回之前的样子,假设 只有20行代码,OK,你手工凭记忆改,2000行呢?你记得你改了哪些吗? 更惨点我见过开发完一个项目结果测试服务器被人误删了数据,2个月的辛苦努力白费了。 使用版本控制,我们完全可以很好的解决以上问题。

   2.什么是版本控制

  简单点来说,版本控制就是时间机器,它可以记录你对文件的每次更改,这样,就算你在昏天黑地的改了几个月后老板说不要了,还是按照过去那样,你也不会抓狂 ,简单的恢复版本操作就搞定一切 。具体概念,大家还是查阅相关资料。

  3.为什么使用SVN

  目前的版本控制软件主要有MS 的VSS,开源的CVS和SVN,zendIDE自带CVS,不过CVS有很多局限性,比如它只记录单个文件的版本,不支持文件的删除,添加的版本控制,针对CVS的局限性,SVN就应运而生了,同时SVN可以由apache带动,直接通过http协议在更新仓库文件。对于这样的组合是非常完美的。至于VSS个人觉得很难用,而且效率低下,也不跨平台。所以坚决推荐SVN。通过SVN调试环境是每个开发成员的客户机,每个成员可以通过仓库的更新直接获取其他成员的新文件和改动,对于多人修改了同样的代码可以做出冲突提示,在发生问题时也可以轻松找到是谁改了哪行代码。这样执行并行开发,效率非常高,同时只可以很好的备份代码。

   讲了这么多SVN的好处只是希望各位新手能尽量按照规范的流程做开发,这对于自身的发展很有好处。最后还是祝大家学习愉快。


 

阅读全文

$_SERVER[’PHP_SELF’]的跨站脚本攻击

现在的web服务器和开发工具虽然不会再出现像asp的%81那样明显的漏洞了,但是由于开发人员的疏忽和各种语言特性组合造成的一些奇异的漏洞仍然会存在。今天偶然读到的XSS Woes,就详细讲述了和$_SERVER[’PHP_SELF’]相关的一个危险漏洞。

阅读全文

apache+php+mysql+phpmyadmin简单配置

      忙了一整天都没有成果,突然想起看一下appserv的配置文件,果然通过了。欢喜中。。。记下来先。
使用软件版本:
apache_2.2.6-win32-x86-openssl-0.9.8e.msi
mysql-5.0.45-win32.exe
php-5.2.5-Win32.zip
phpMyAdmin-2.11.2.2-all-languages.zip

1.安装apache到d:serverapache2.2
2.安装MySQL到d:servermysql5
3.解压php到d:serverphp
4.拷贝php文件夹下的libmysql.dll到c:windowssystem32目录下;
5.拷贝php文件夹下的php.ini-recommended到c:windows下并改名为php.ini
--------------------------------------------------------------------
6.打开apache的配置文件httpd.conf
    a.在有许多LoadModule处添加一行:
        LoadModule php5_module d:/Serverphpphp5apache2_2.dll
    b.修改DocumentRoot "e:/www" 这是放置网页的根目录,自己想设置在什么地方就设置在什么地方。
    c.# This should be changed to whatever you set DocumentRoot to.
        <Directory "e:/www">
       找到这里以后,把原来<Directory "">中的路径改成和b一样的路径。
    d.在DirectoryIndex index.html处添加index.htm index.php
    e.最后在<IfModule></IfModule>附近添加再添加一段
        <IfModule mod_php5.c>
              AddType application/x-httpd-php .php
              AddType application/x-httpd-php .php3
              AddType application/x-httpd-php-source .phps
        </IfModule>
------------------------------------------------------------------------
7.打开在c:windows下的php.ini文件
    a.将一下语句前的;符号去掉
        extension=php_dbase.dll
        extension=php_gd2.dll
        extension=php_mbstring.dll
        extension=php_mysql.dll
        extension=php_mysqli.dll
        extension=php_sockets.dll
 

阅读全文

asp/php下生成GUID

什么是 GUID?

全球唯一标识符 (GUID) 是一个字母数字标识符,用于指示产品的唯一性安装。在许多流行软件应用程序(例如 Web 浏览器和媒体播放器)中,都使用 GUID。

阅读全文