easyphp框架手册发布啦!

花了一天时间,把框架的注释写了下,用 phpdocmentor 生成了个HTML的手册。 要的可以点这里下载

预览图片:



easyphp手册界面预览

easyphp手册界面预览


[北京]龙沙网络6000元诚聘电子商务php程序员

[北京]龙沙网络6000元诚聘电子商务php程序员

具体如下:
公司:北京龙沙网络科技有限公司
要求:有电子商务开发经验
      可独立开发电子商务网站
公司产品:CCTV-6 两档电视节目的官网,电子商务网站。
网址:http://www.idwindow.com
工作地点:北京
联系人:韩金海
电话:(010)62309167
QQ:    475332295
地址:北京市海淀区学院路51号 首享科技大厦1203室 地铁10号线,西土城站 向北50米
岗位职责
1.负责公司电子商务网站的建设及维护工作;
2.负责网站商城系统的二次开发及维护工作;
3.协同完成网站产品的技术架构设计;
4.独立完成公司网站产品的功能模块编码;
5.负责与公司其他团队共同创建和完善网站的布局,以确保其网站的功能性及呈现效果。


js去除左右空格函数

JS自身没有 trim这样的函数 来去除左右空格 ,必须通过自定义函数来实现这样的功能了。

代码如下:

	function trim(str){
		return str.replace(/(^\s*)|(\s*$)/g, "");
	}

正则表达式中的非捕获型分组

留坑以后写

使用Wordmobi发布


使用Wordmobi发布


帝国cms如何把文章中的附件名称显示由上传后的名字变成上传前的名字

一次改帝国CMS,发布在文章中添加的附件显示的名字都是上传后MD5加密后的名称,很不爽。如何让它显示为上传上的名字吗? 看了一下表,里面也有这个字段的。于是找啊找啊找了半天,最后还是让我发现了。 它是在上传的时候就已经生成好了写到正文内容中去的。

这是改之前显示的效果:

修改前的效果这是修改后的效果:

修改后的效果这是要修改的代码 :

这是要修改的代码片段

改成这个样子就行了。

找到文件 了吗?是在 e\admin\ecmseditor\infoeditor\epage\TranFile.php中。看出来了吗? 是把filename 改成了红线标明的fn了。呵呵,找到位置了,一切就是这么简单。


诺基亚C5 03做移动AP,实现电脑无线上网

呵呵,以前不知道 我的手机还有这个功能 ,上次不能上网了,万般无奈之下试了下,居然 可以无线上网。就是有点太费流量了,一般人用不起啊。
首先安装 一个 诺基亚PC套件,文件>连接到internet>选择服务提供商>中国移动 ,如果顺利 ,一切就OK了 !


周鸿祎在360新员工入职培训上的讲话

这个是周鸿祎给入司360新员工的一段话,不但适合360,也适合所有的公司员工。特此分享。

——在360新员工入职培训上的讲话

我想给新入职的同事讲一讲我的期望,再提几个建议。我这个人喜欢说真话,不喜欢说漂亮话,因为漂亮话没用。但说真话,大家可能不爱听。

首先,大家一定要明白,你自己来360到底想获得什么。

我觉得,第一你一定得在360学到能力,学到本事才行,因为你将来要行走江湖,要成名立万,靠的就是能力和本事。在座的大多数既不是高干子弟,也不是富二代,跟我一样都是平民子弟。不少是第一代来北京的移民,唯一能依靠的就是自己的双手和头脑。你要想成功,本事是最重要的,其他都是虚的。公司有没有名气、午饭有没有鲍鱼、给你什么title,都是虚的。title这玩意最骗人了,你真要想有个好title,我建议你回家自己开一个公司,自己就是CEO啊!可能还会有人说上班开不开心很重要,但在公司最艰苦的时候,你很可能不会开心。所以,最重要的,是在于你在360能不能学到东西,能不能锻炼出能力。在360,只有有能力的人才能得到更多的资源和更大的舞台

换句话说,360只是一道门,现在它向你们打开了,但你能走多远,要看你自己能锻炼出怎样的脚力。

可能有的人要说,我就想找个地方混一混。其实,一个公司大了以后,也一定有地方可以混,我也管不了每一个人。但是,我在互联网行业里干了十多年,看到了很多Loser。他们都是太聪明,把自己混失败了。大家一定要记住,混日子就是在浪费自己的时间。想一想,你35岁以后还能混么?那个时候会有更多的年轻人,他们比你更努力,比你更能干,要求也比你低。你要是没学到东西,没锻炼出来能力,他们会代替你的。能力是不能混出来的,而是学习出来的,是锻炼出来的。结果,你在企业里只把年龄混大了,能力没有提升,那么你人生道路会越来越窄,也丧失了你最好的学习机会。

所以,如果你不喜欢360,你一定要尽快换,尽快找到自己喜欢的事情,找到一个值得自己去投入的事情,至少你不会浪费自己的生命。如果你选择360,仅仅是因为公司的名气,就想混,吃亏的是你自己。想想,你再能混,能混我多少钱啊?你一年混我20万,5年一共也才混我100万啊,这对我来说没什么,但是你在这里白搭了自己5年的时间。你5年的青春值多少钱?难道只有100万吗?

这话我不仅对新入职的同事说,对很多大学毕业生都是这么说的,是代表我个人的看法。即便你不是来到360,你去别的地方,也值得思考这个问题。

你再看看你的周围,是不是也会发现有混日子的人?有些人在那里混,混得都离不开公司了,结果丧失了竞争力。要知道,靠自己省吃俭用攒出的工资,是攒不出一个人生来的。你要在360发财,有可能,前提是你的本事要达到一定的层次。

有的人可能会问:周鸿祎有钱了,为什么干得这么带劲儿?我可以直截了当地告诉你,在360,我其实是在给大家打工。我做360这件事,是因为它让我激动,干这件事能大大地满足我的成就感。

那么,在360到底能学到什么本事和能力?很多,比如好的方向、经验和执行力、领导力、沟通能力、团结别人的能力、市场营销的能力等等,有太多的能力是你可以在360学习的。你可能又会说,在别的公司也能学到啊!我可以跟你说,你在360,掌握这些东西,学会这些本事,能比在其他公司时间更短,速度更快。

我也希望你们能拿到360的期权,这很简单,这是我们行业的规则。这个公司我不是大股东,投资人是大股东。我们所有员工的期权加起来也是一个很大的比例。我们都希望公司最后能够上市,做到像百度和腾讯一样规模,有一个不错的市值。我也希望很多人能淘到第一桶金,解决你在北京买房子的钱还是有机会的。

但这些都不是从天上掉下来的。你在360必须要努力,必须要做得好,这样你才能锻炼自己的很多能力,成长的也很迅速。除了发财以外,你的能力和本事还能给你带来影响力,给你带来好的声誉。现在,即使敌人提起我,都会说周鸿祎做产品很牛,现在互联网上做客户端做得好的,除了QQ,不是我做的,就是我手下做的。但如果我手里没有东西,我天天在这里吹,说老周是中国最会做客户端的人,打死你都不会信。

所以,只要你在360踏踏实实做下去,我相信每个人都有可能做成功一件事情。这件事可能很简单,比如说打补丁,但你做到极致就变得有价值。而这件事情就是你身价的最好证明。由于你有这样的经历,可能就有人愿意为你投资一千万。

大家不要听完我说的话就跃跃欲试去创业。创业的机会时刻存在,但是成不成功取决于你的能力,取决于天时地利人和。在360,大家也能提高自己创业的能力,也能结识自己创业的伙伴,也能获得一些创业的资源。也许几年之后,你在360告一段落了,你就真的可以去创业,去创办自己的公司了,那个时候你从360淘到的,就不仅仅是第一桶金,那就将是你人生的第二桶金。所以我觉得,我们的所有员工只要你有能力,有这些经历,靠自己的双手、大脑和聪明才智,就有机会获得或大或小的成功。

成功是需要时间积累的,我95年研究生毕业,刚来北京也是从一无所有、一穷二白。到方正之前,我其实也创过业,但是没有成功。所以我得出一个经验:做公司很容易,把公司做成功很难。我决定在方正公司踏踏实实工作几年,那几年我不仅仅是在为公司打工,我更是在为自己积累经验。所以,我在公司认真地做好我该做的事情,甚至还做了很多公司没想让我做的事情。我客观上为公司做了很大贡献,但实际上我个人是最大的受益者,因为我得到了很多锻炼,我做事的能力提高了很多。如果没有这个经历,我是没有能力出来做3721的。

我在雅虎的时候,大家觉得我是个职业经理人。职业经理人是什么形象?整天西装革履的,说着洋文,执行总部的指令。我在雅虎打工,本来也是可以混的,这样还能拿到一大笔钱,但是我不想混,不愿意混呢。我觉得我的时间宝贵,在雅虎混时间久了,我就和这个行业脱离了。所以,在雅虎我也是一样怀着创业的精神,在努力地做事,把搜索、门户、邮箱做起来了。我努力地提高自己的能力、经验和见识,这才使我之后有能力去做投资,做奇虎,做360。

你们面前摆着很多的机会,但我可以告诉你,360就是在你们眼前最好的一个机会。当然,你可以去腾讯,去百度,去淘宝,但这三座大山已经很成功了,已经具有了很大的规模,你在那里更多会成为一个螺丝钉。现在的360不是一个上市公司,未来会有很多的机会等着你,你可以在其中做出很多的贡献,拿到公司的股票和期权。但你能不能把握住这个机会,取决于你的经验和能力的积累。所以,大家不要以打工的心态在360工作,我这里不需要打工的

我希望大家来360,是和我合作几年。无论以后是否还在360工作,大家都能够在360做成一些事情,在能力上能够有所提升,这就是我的期望。

我希望大家在360是抱着一种给自己干的心态,积累你的知识,积累你的经验,积累你的能力。这也是我自己这么多年来在北京,在这个行业里屡败屡战之后的一个深刻的体会。

另外一点、我希望你在公司做事,一定要争取把一件小事情做成大事,通过做这件事情你也能得到成就感。如果有一天你开一家公司,也许很挣钱,但不一定能很有成就感。当你挣到你的第一个一百万之后,你会很有成就感。挣到你的第一个一千万之后,你会很有成就感。但再往后,就变成了一个数字的游戏了,你就没感觉了。

但是,今天我们大家聚在一起,我们完全有能力做出来一个影响中国几亿人的产品或者服务,这种成就感会让你一辈子都感到骄傲。甚至你有孩子的时候,有一天他问你:“你年轻的时候为互联网做了什么?”你就会很骄傲指着电脑上的360说:“你老爹当年就是干这个的。”这样,不仅你自己感到骄傲,他也会为你感到骄傲。

我觉得,人的一生不一定能干成某一件大事,但是一定要去追求,或者和别人一起干成一件非常大的事情。我希望未来大家提到我,会说我做了很多事情,或者成功,或者失败。但我更希望大家能说我干成了360,让中国互联网更加的安全。我颠覆了一个时代,我创造了一个新的网络安全的时代。

几年以后,当大家想起我今天的话,我希望大家不要感到后悔来到360,至少你在360学到了很多东西,然后通过自己的努力在360挣到了钱,然后通过自己做成一件事有了成就感,同时也建立了自己的影响力

最后,我想说的是,大家一定要保持一个好的心态。你进公司时,可能由于面试的仓促,交流不充分,给你的职位低了点,给你定的工资不像你期望的那样高,但我觉得你今天拿的工资并不代表你的身价。只要你锻炼出能力,有了本事,即使360没有给你发挥的空间,你不用天天发牢骚,你完全可以用你在360学到的本事,选择其他公司,去创造一个更加美好的未来。

当年我在方正的时候,我学到了我所需要的能力,当我认为它不能够再给我更好的成长平台时,我可以毫不犹豫放弃它。相反,如果你没有能力,选择在那里混,你永远没有勇气选择放弃一家公司。要记住,勇气不是个性,勇气不是脑袋发热,勇气是由实力构成的。

在座的各位今天你们拥有的更多是潜力,而不是实力,我希望在未来的几年时间里,大家把自己的潜力转化为实力。也许,在我们当中,会产生很多新一代的互联网精英,这完全有可能,因为互联网的未来毫无疑问是属于年轻人的。所以,我未来的梦想,就是在360成功之后,专注地去做投资人,帮助更多的年轻人去获得成功。

人力资源部常常劝我不要和大家谈创业,怕大家想着创业,第二天就辞职回家办公司了。我和大家讲,创业其实是一种精神,是一种心态。创业有很多种形式,不是只有自己办公司、自己当老板才叫做创业。当你的人生还处于起步阶段,你还不具备足够的经验和能力,就需要给人当学徒,需要学习和积累,其实这个过程也是创业。

也许你想干一件很大的事情,但要借助很多资源,这时候你可以在公司内部创业。我们公司有很多人是在360内部创业,他们为什么放弃了自己的小公司来到360?因为他们无论再努力,但由于没有足够大的平台,无法将事情做大。所以,他们现在追求的不是能得到多少钱,而是先做成一件大事,为他以后再独立做事打下基础。

今天,360还是一个创业公司,不是一个大公司,更不是一个国际化的企业,我们就是一个创业公司。我们内部有很多创业团队,我希望加入进来的各位成为合格的创业者,和公司一起创业,在这里要学习到创业的能力,打造自己的基石,这是我的期望。


PHP新增魔术方法 __invoke 及其他魔术方法详解

class CallableClass

  {

  public function __invoke($x)

  {

  var_dump($x);

  }

  }

  $obj = new CallableClass;

  $obj(5);

  var_dump(is_callable($obj));

  ?>

注意:$obj(5);    这里用了$符号,和()括号。

想变量,又像放法。奇怪吧,呵呵呵。

附:PHP其他魔术方法详解

  php中的类就可以使用魔术方法了。其规定以两个下划线(__)开头的方法都保留为魔术方法,所以建议大家函数名最好不用__开头,除非是为了重载已有的魔术方法。

   __construct,   __destruct,   __call,   __callStatic,   __get,   __set,   __isset,   __unset, __sleep,   __wakeup,   __toString,   __invoke,   __clone

  ◆__get($property)当调用一个未定义的属性时,此方法会被触发,传递的参数是被访问的属性名。

  ◆__set($property,$value)给一个未定义的属性赋值时,此方法会被触发,传递的参数是被设置的属性名和值。

  这里的没有声明包括当使用对象调用时,访问控制为proteced,private的属性(即没有权限访问的属性)。

  与__get方法和__set方法相同,这里的没有声明包括当使用对象调用时,访问控制为proteced,private的属性(即没有权限访问的属性)。

  这里的未定义的方法包括没有权限访问的方法;如果方法不存在就去父类中找这个方法,如果父类中也不存在就去调用本类的__call()方?法,如果本类中不存在__call()方法就去找父类中的__call()方法。

  __autoload函数,它会在试图使用尚未被定义的类时自动调用。通过调用此函数,脚本引擎在php出错失败前有了最后一个机会加载所需的类。

  注意:在__autoload函数中抛出的异常不能被catch语句块捕获并导致致命错误,所以应该在函数本身做捕获。

  ◆__construct构造方法,当一个对象创建时调用此方法,相对于php4使用此方法的好处是:可以使构造方法有一个独一无二的名称,无论它所在的类的名称是什么.这样你在改变类的名称时,就不需要改变构造方法的名称。

  ◆__destruct析构方法,php将在对象被销毁前(即从内存中清除前)调用这个方法。默认情况下,php仅仅释放对象属性所占用的内存并销毁对象相关的资源,析构函数允许你在使用一个对象之后执行任意代码来清除内存。当php决定你的脚本不再与对象相关时,析构函数将被调用。

  在一个函数的命名空间内,这会发生在函数return的时候。对于全局变量,这发生于脚本结束的时候。如果你想明确地销毁一个对象,你可以给指向该对象的变量分配任何其它值.通常将变量赋值勤为null或者调用unset。

  php5中的对象赋值是使用的引用赋值,如果想复制一个对象则需要使用clone方法,在调用此方法是对象会自动调用__clone魔术方法,如果在对象复制需要执行某些初始化操作,可以在__clone方法实现。注意:防止类被克隆,可以在类里重写__clone 就是给这个方法加一个私有声明 private __clone(){} 这样在类的外部就无法使用 __clone()方法了。连接数据库类可以这样使用,起到一定的保护作用。

  __tostring方法在将一个对象转化成字符串时自动调用,比如使用echo打印对象时。

  在php5.2.0之前,__tostring方法只有结合使用echo()或print()时才能生效。php5.2.0之后,则可以在任何字符串环境生效(例如通过printf(),使用%s修饰符),但不能用于非字符串环境(如使用%d修饰符)。从php5.2.0,如果将一个未定义 __tostring方法的对象转换为字符串,会报出一个e_recoverable_error错误。

  ◆__wakeup反串行化的时候调用

  serialize()检查类中是否有魔术名称__sleep的函数。如果这样,该函数将在任何序列化之前运行。它可以清除对象并应该返回一个包含有该对象中应被序列化的所有变量名的数组。

  使用__sleep的目的是关闭对象可能具有的任何数据库连接,提交等待中的数据或进行类似的清除任务。此外,如果有非常大的对象而并不需要完全储存下来时此函数也很有用。

  PHP相反地,unserialize()检查具有魔术名称__wakeup的函数的存在。如果存在,此函数可以重建对象可能具有的任何资源。使用__wakeup的目的是重建在序列化中可能丢失的任何数据库连接以及处理其它重新初始化的任务。

  当尝试以调用函数的方式调用一个对象时,__invoke方法会被自动调用。

  它的工作方式类似于__call()魔术方法,__callstatic()是为了处理静态方法调用。

  php确实加强了对__callstatic()方法的定义;它必须是公共的,并且必须被声明为静态的。同样,__call()魔术方法必须被定义为公共的,所有其他魔术方法都必须如此。


阿里云计算(北京)招php工程师

职位要求如下,公司在CBD,薪水优厚,如有兴趣,请联系QQ:780839533  (注明找工作)

Php高级开发工程师
职位要求:
1. 熟悉Unix/Linux操作系统,有基于linux/unix平台的大型系统集群的运维和管理经验;
2. 熟悉shell 脚本编写,熟悉perl/python/php 其中1种或多种;
3. 熟悉apache/nginx/squid/lvs/bind/postfix/cacti/memcached/nfs等常见应用的管理维护;
4. 熟悉Mysql数据库的原理以及使用、管理维护,对大型应用中常见的分表、分库、优化、集群等有一定的了解;
5. 熟悉JQuery、Ext、YUI等JS框架中的一种或多种;
6. 熟悉WEB2.0相关技术和标准;
7. 熟悉大规模系统的负载均衡、缓存、网络存储、网络安全、数据库高可用设计及性能评估机制;
8. 工作认真,具备良好的敬业精神和职业操守。
php开发工程师
职位描述:
1. 广告管家平台和前端js展现的开发;
2. 站内搜索平台和前端js展现的开发。
职位要求:
1. 2年以上Web开发经验,熟悉PHP面向对象的设计方法,理解MVC;
2. 具有很好的代码编写能力和良好的代码编程习惯;
3. 熟悉Linux,熟悉Shell脚本编程,能直接在Linux下进行开发;
4. 精通Javascript,熟练掌握XHTML、CSS、DIV等页面技术,熟练应用AJAX开发;
5. 熟悉各种WEB缓存技术,熟悉大型网站构架和性能优化;
6. 熟悉Mysql数据库应用开发,了解Mysql的数据库配置管理、性能优化;
7. 较强的工作责任心和优秀的沟通协调能力,能在压力下独立解决问题。

程序员每天该做的事情

不重视细节,如何谈得上成功!

1)程序员每天总结自己一天任务的完成情况
最好的方式是写工作日志,把自己今天完成了什么事情,遇见了什么问题都记录下来,日后翻看好处多多

2)考虑自己明天应该做的主要工作
把明天要做的事情列出来,并按照优先级排列,第二天应该把自己效率最高的时间分配给最重要的工作

3)考虑自己一天工作中失误的地方,并想出避免下一次再犯的方法
出错不要紧,最重要的是不要重复犯相同的错误,那是愚蠢

4)考虑自己一天工作完成的质量和效率能否还能提高
一天只提高1%,365天你的效率就能提高多少倍你知道吗? (1+0.01)^365 = 37 倍

5)看一个有用的新闻网站或读一张有用的报纸,了解业界动态
闭门造车是不行的,了解一下别人都在做什么,对自己能带来很多启示

6)记住一位同事的名字及其特点
你认识公司的所有同事吗?你了解他们吗?

7)清理自己的代码
今天完成的代码,把中间的调试信息,测试代码清理掉,按照编码风格整理好,注释都写好了吗?

8)清理自己的桌面
当日事当日毕,保持清洁干劲的桌面才能让你工作时不分心,程序员特别要把电脑的桌面清理干净


wordpress双博客同步插件autopost发布啦!

最近 弄了一个新博客 ,www.jmphp.com 不想在这个博客上发了再到那个博客上面又发一遍,于是在网上找了一下看有没有同步的插件。结果可能是我搜索的词不能,居然没发现 。于是看到有一个 xmlrpc 的调用,自己折腾了一下 ,做成了一个小的插件,方便自己用,也共享给大家。

目前实现的功能 : 可以在一个博客发布文章的时候同时发布到另一个博客,可以设为是发为草稿,还是发为公开。

不足是:目前只实现了双博客的同步发布 ,修改是没有同步修改。

下一版本开发计划 :

1. 实现修改时的同步修改。

2.实现多博客的同步发送。

下载请点这里


javascript怎样去掉字符串左右空格?

javascript 实现TRIM功能 去掉字符串左右空格函数

 
<SCRIPT LANGUAGE="JavaScript">
// Trim() , Ltrim() , RTrim()
String.prototype.Trim = function()
{
return this.replace(/(^\s*)|(\s*$)/g, "");
}
String.prototype.LTrim = function()
{
return this.replace(/(^\s*)/g, "");
}
String.prototype.RTrim = function()
{
return this.replace(/(\s*$)/g, "");
}
 
</SCRIPT>
 
str = str.replace(/[ ]/g,""); //替换所有空格
str.replace(/(^\s*)|(\s*$)/g, ""); //去掉左右空格
str.replace(/(\s*$)/g, ""); //去掉右空格
str.replace(/(^\s*)/g, ""); //去掉左空格

手机测试发博客

这功能真强大

使用Wordmobi发布


php中__CLASS__与get_class 的区别

<?php
/*
*  Author : Fanglor
*  Email  : Fanlor@163.com
*  Url    : www.skyleft.com
*  Date   : 2011-06-28 
*/
class Test__CLASS__ {
 
	var $url = '';
 
	function __construct () {
		$this->url = __CLASS__;
	}
 
	function get_url () {
		return $this->url;
	}
}
 
class ChildTest__CLASS__ extends Test__CLASS__{
 
	function __construct () {
		parent::__construct ();
	}
}
 
//测试
$Test =new ChildTest__CLASS__(); 
echo $Test->url;
echo "<br/>";
 
class Test_get_class {
 
	var $url = '';
 
	function __construct () {
		$this->url = get_class($this);
	}
 
	function get_url () {
		return $this->url;
	}
}
 
class ChildTest_get_class extends Test_get_class{
 
	function __construct () {
		parent::__construct ();
	}
}
 
//测试
$Test =new ChildTest_get_class(); 
echo $Test->url;

测试结果 :

Test__CLASS__
ChildTest_get_class

可以看出,__CLASS__ 不向下传递,在哪个类里,就是哪类的名字,而 get_class 则更为灵活 ,与$this 结合使用,可以很方便的得出各子类的类名 。