博文

目前显示的是 2011的博文

Zend studio for eclipse + Xdebug开发环境(转载)

图片
转自zendchina,可查看 原文 ,之所以转载,是因为网上的各种资料都不太全,本文很全面。本人在该问题上也遇到很多困难,终于从本文获得启发。希望遇到同样问题的朋友们能尽快解决该问题。同时声明:网传的windows下不能使用zend调试是错的,很难用也是错的,只是不得法而已,不要以讹传讹。我自己尝试的辛苦,希望朋友们能少走些弯路。 下载xdebug,看清版本,很重要,这里使用php_xdebug-2.0.5-5.2.dll,符件中有; 必须以Zend方式加载,见php.ini中配置。配置D:EasyPHPPHPphp.ini,先把optimization注释掉使用";" 如下: ;[Zend] ;zend_optimizer.optimization_level=1023 ;zend_extension_ts="../Zend/ZendExtensionManager.dll" ;zend_extension_manager.optimizer_ts="../Zend/Optimizer-3.3.0" ;zend_extension_ts="D:/EasyPHP/PHP/ext/ZendDebugger.dll" ;zend_debugger.allow_hosts=127.0.0.1/32 ;zend_debugger.expose_remotely=always ;extension=php_xdebug-2.0.5-5.2.dll [Xdebug] zend_extension_ts=D:/EasyPHP/PHP/ext/php_xdebug-2.0.5-5.2.dll xdebug.profiler_enable=on xdebug.trace_output_dir="D:/EasyPHP/xdebug" xdebug.profiler_output_dir="D:/EasyPHP/xdebug" xdebug.remote_enable=On xdebug.remote_host="localhost" ...

PHP Document 注释标记及规范(转载)

@access 使用范围:class,function,var,define,module 该标记用于指明关键字的存取权限:private、public或proteced @author 指明作者 @copyright 使用范围:class,function,var,define,module,use 指明版权信息 @deprecated 使用范围:class,function,var,define,module,constent,global,include 指明不用或者废弃的关键字 @example 该标记用于解析一段文件内容,并将他们高亮显示。Phpdoc会试图从该标记给的文件路径中读取文件内容 @const 使用范围:define 用来指明php中define的常量 @final 使用范围:class,function,var 指明关键字是一个最终的类、方法、属性,禁止派生、修改。 @filesource 和example类似,只不过该标记将直接读取当前解析的php文件的内容并显示。 @global 指明在此函数中引用的全局变量 @ingore 用于在文档中忽略指定的关键字 @license 相当于html标签中的<a>,首先是URL,接着是要显示的内容 例如<a href=”http://www.baidu.com”>百度</a> 可以写作 @license http://www.baidu.com 百度 @link 类似于license 但还可以通过link指到文档中的任何一个关键字 @name 为关键字指定一个别名。 @package 使用范围:页面级别的-> define,function,include 类级别的->class,var,methods 用于逻辑上将一个或几个关键字分到一组。 @abstrcut 说明当前类是一个抽象类 @param 指明一个函数的参数 @return 指明一...

[转载]Windows x64下配置ffmpeg的方法

ffmpeg简介 FFmpeg 是一款跨平台的,对视频、音频进行录制、转换、播放的命令行形式软件,它使用的是 libavcodec 编解码器。FFmpeg 官方网站是 http://ffmpeg.org/ 。 官方网站提供的是未编译的 FFmpeg 源代码。有兴趣的朋友可以自己下载源代码编译。一般我们都会偷懒,去下载现成的。 php_ffmpeg资源 源码及编译方式见: http://sergey89.ru/notes/ffmpeg-php-windows/ 各种win32版本的下载: http://ffmpeg.arrozcru.org/builds/ 配置方法 1,解压 2,将 php_ffmpeg.dll 文件 复制到 php 的 extension 目录 3,将其他所有文件复制到 Windows 的SysWOW64目录(注意:32位系统复制到windows的 system32目录里) 4,在 php.ini 文件中,增加一句: extension=php_ffmpeg.dll 5,重启 apache 可以用 phpinfo(); 函数看安装结果。如果出现 ffmpeg support enable 字样,说明安装成功。 刚开始的时候,把相关文件拷贝到了system32中,总出错,提示“unable to load dynamic library‘ xx/xx/php_ffmpeg.dll’”,后来感觉可能是版本不对,想找到相应的64位的php_ffmpeg.dll文件,走了很多弯路,最后看到转载的这篇文章,才成功。        原创版本没有找到,网上传播很广的都是改过的转载,但链接都没有了。      我这里加入了两个链接,在此向原作者致谢,同时未经许可,对文字做了修改,请谅解。另外把我自己下载的版本提供给大家下载。我的是php5.3版本的: ffmpeg-php-5.3-win32-all.zip

Eclipse中的本地历史记录

图片
很久之前,曾经用过一个代码编辑器,具体名字叫什么不记得了,但对我印象最深的是他的本地修改历史记录。我一直在意代码的历史记录,以至于在本地搞个vss来保存不同的版本。现在用的是svn。但总觉得许多时候本地修改记录本地来记录更合适一些。今天使用Eclipse时突然发现有个本地历史的功能,原来我想要的功能在Eclipse中已经包含了。 首先我们可以看看关于本地历史的设置位置: 窗口->首选项->常用->工作空间->本地历史,默认设置如下图所示: 这三个项分别是: 保留天数(每个修改记录的最多保留天数); 最大历史数量(每个文件修改所保留的最大版本数量); 每文件的最大文件大小(所有保留记录最大占用的空间); 我们可以根据自己的情况进行设置。然后就可以从文件列表中直接打开本地历史记录了,还集成了比较功能呢。

youtubeAPI 及js调用示例

本文记录youtube 的几个常用api,并使用其中一个介绍其使用方式。 首先,我们来看看这几个api: http://gdata.youtube.com/feeds/users/username/uploads - videos uploaded by username http://gdata.youtube.com/feeds/users/username/favorites - videos bookmarked by username http://gdata.youtube.com/feeds/users/username/playlists - playlists created by username http://gdata.youtube.com/feeds/users/username/subscriptions - username's subscriptions 就是说,如果你要显示username这个用户(不知道有没有这个用户)的视频,可以访问 http://gdata.youtube.com/feeds/users/username/uploads 这个路径来获取数据。其他的就不用讲了。 有趣的是,google给这四个api设置了差不多的参数,常用的有: ?max-results=50: 最多要返回的记录数(默认情况下是25),不过要记住,youtube每次访问可返回的最大值恰好也是50,如果想要获得更多内容,可以多请求几次,哈哈。 ?alt=rss or ?alt=json: alt参数用于设置返回内容的格式。 ?vq=query: 用于筛选结果,会从 metadata (title, tags, description)中进行检索,比如“google+ maps”,就是搜索google map。 ?orderby={updated, viewCount, rating, relevance}: 排序,示例中以updated为第一排序,relevanced作为最后一个排序。 使用jquery的AJAX进行访问也很简单: $.ajax({ type: "GET", url: "http://gdata.youtube.com/feeds/users/username/...

Facebook专页中的页面制作

图片
关于facebook的项目停了一段时间,最近突然又来了一个这类的项目,是要制作一个专页上的链接。话说创建专页不难啊,但是由于不懂,而且时间比较紧,遇到不少问题,至今还有些搞不明白。幸得本站用户KIVU的鼎力帮助,项目算顺利完成了。这里把制作过程记录下来,分享给大家,以减少大家走的弯路。 首先,专页是facebook专门推出用来展示个人或者企业的一个工具,创建专页在facebook上面有专门的帮助文档,很详细(不过也很多,说实话,我没有详细去看,创建专页自己试试就可以创建出来),url如下: http://www.facebook.com/help/?faq=104002523024878&ref_query=crea   我们可以看到很多公司做了挺漂亮的专页,但我们创建的专页却仍然只是由涂鸦墙、视频等信息组成的页面,我们自己的页面怎么实现呢?或者说,在左侧上部的链接中,加入我们自己制作的页面。 创建新应用做专业中的页面 这里要感谢本站用户KIVU,一句话说的很明白,左侧的链接都是应用,也就是facebook app。其中涂鸦墙等几个是facebook自己的app,也有几个是必须显示不可删除的,添加怎么办呢?Facebook似乎没有提供一个地方要指定加入一个应用的地方。感觉把专页中的设置尝试遍了,也没找到对应的功能。 KIVU在百忙之中给予支持: 1、创建新应用(前面我们有文章提到过),在编辑应用基本信息的界面左下角,找到“View App Profile Page”这个链接,现在即使是简体中文的界面,这个链接的文字也没有翻译,应该是查看我的应用的专页吧。 2、进入该页面以后(url如 http://www.facebook.com/apps/application.php?id=XXX ),可以在其左下角找到“加入到我的专业链接”,其实这是一个按钮,点击后会弹出你所有的可以被加入的专页(包括其他应用)。如图: 找到你想加入的页面,点 add to page就可以了。至于页面中的内容,就是你的app中指定的页面的内容了。还算简单吧。 3、往往你制作好页面以后,页面高度没有按照自己的页面来,就是说即使你设置了高度自适应(那似乎只对应用页面有效,对专业中的页面无效),页面中还是出现了滚动条,其实也很简单,我们只需要写这样一段代码就可以了 F...

使用Zend headLink 和headScript

今天用到了一个新的小功能,是关于headLink和headScript的,对于新手来说需要学习的东西很多啊。经查资料找到用法,这里记录下: headLink用于对css文件的引用,而headScript用于js脚本文件的引用。可以直接在模板中使用,代码如下: /application/views/layouts/layout.phtml headLink()->appendStylesheet($this->baseUrl() . '/css/global.css') ->headLink()->prependStylesheet($this->baseUrl() . '/css/resets.css') ?> headLink() ?>   也可以在代码中添加,比如这里在Bootstrap.php中进行了添加: /application/Bootstrap.php (function not complete) function _initView() { $view->headLink()->prependStylesheet('css/resets.css') ->headLink()->appendStylesheet('css/global.css') ->headLink()->appendStylesheet('css/forms.css') ->headLink()->appendStylesheet('css/pages.css'); }   headScript使用方法一致,不过方法名改了,代码如下: /application/Bootstrap.php (function not complete) function _initView() { $view->headScript()->prependFile('js/jquery-1.3.2.min.js') ->headScript()->appendFile('js/j...

在Zend framework中使用“用户控件”

听到用户控件,一定会想到asp.net中那个方便的可以随便拖拽到任何页面中使用的小东西。做了多年的.net,其中的许多概念已经扎根在意识里面,以至于现在做一些zend framework的东西,还要怀念.net中的概念。所以这篇文章,如果你也是一直做.net开发,现在刚开始做php,那么应该会更容易理解。 这两天做一个使用zend framework的项目,遇到一个很小的问题,就是要在不同的页面中显示同样的一段内容,这段内容可能需要后台代码的支持。无奈对zend framework只知道皮毛,于是各种搜索,并群里面提问。但我提的问题,纯粹的phper并不明白,于是有了许多关于第三方实现控件的回答,因为他们并不了解用户控件是什么意思,而zend framework并没有用户控件这个概念。 所以我想,到底应该从哪个方向(名词)或思路来入手呢? 向来针对实现一个功能,我都认为是比较简单的。如果没成功,要么就是思路错了,要么就是自己对概念了解不甚清楚。因为当今的搜索引擎这么强大,在清楚问题的时候,找到某具体问题的实现方式并不难。而我,就是卡在了对当前问题实现思路的问题上。另外由于对zend framework理解不深,一些问题的处理上还比较死板。 这是一个很复杂的功能么?当然不是。如果只是页头或页尾,我们完全可以通过layout完成(layout就是.net中的母版页)。而页面中随便一个位置的内容呢?实际上我们只是需要把同一段代码放入不同的视图中而已。 等等!这里出现一个视图的名词,这是zend framework中的一个概念。实际上就是MVC中的那个V,就是用来提供展示的。而所谓的展示,无非就是形成html代码么。 其实本人倒并不是第一次做php的项目,之前这种情况,就是使用@inculde把对应的php代码包含进来就行了,另外有require once。但zend 对url进行了重写,代码执行或许会遇到某些问题。于是仔细查看了下zend framework的文档,发现如下一段代码。 <?php //使用一个模型来获取书籍作者和标题相关数据。 $data = array( array( 'author' => 'Hernando de Soto', 'title' =...

惊闻微软欲放弃Sliverlight

今天早上看到的消息,说微软近日表示在Sliverlight的版本5正式发布后停止开发,虽然我觉得这是早晚的事,但现在听到这个消息还是比较惊讶,比原来预计的似乎早了很久。 记得09年初的时候,我对Sliverlight做过几天的研究。因为那时候Sliverlight炒的很火,话说美国总统奥巴马的竞选演说,使用的就是Sliverlight发布的视频。可谓盛极一时。但我当时的感觉总觉得微软是在于ADOBE抢一块蛋糕,或者是搅Adobe的局。因为大家都很清楚,HTML5标准一旦确定,可能Sliverlight和Flash都不存在了(当时我谈到这个想法时,记得还被朋友们嘲笑过)。 当时业界对HTML5标准确定的时间估计在2022年(记忆中),按照那个推算,至少要到2015年以后,HTML5才会逐渐被各家浏览器支持,也就是说,Flash和Silverlight可能要支撑到2020年以后才会逐步消失。这些是当年的估计了。但Iphone的出现与移动智能设备的迅速发展,大大加速了这一进程,去年已经有很多有远见的公司大量招聘HTML5的开发人员了。 此后Sliverlight版本升级到4.0后,又在很多方面接触Silverlight,比如WP7和Xbox,我感觉他的类库比较乱,WP7一套、7.1还有一套、PC上又有一套,而且互不兼容,各自为政——虽然都叫Silverlight。而就在不久前,微软还宣布要用Silverlight来统一这几大平台(Windows、Windows Phone和Xbox),要让他们兼容么?但微软还在各个方面独立发展,版本分裂严重。 今天早上看到的第一个消息是Adobe宣布移动版的Flash不再研发,后面就看到了微软的这则消息。难道这两家商量好的?Adobe的这个决定不难理解,他买下了PhoneGap(这个恰巧昨天的一篇文章就提到,呵呵),势必要推进在HTML5方面的开发标准,放弃移动版Flash甚至最终整个放弃Flash,完全推进HTML5。而微软呢?Silverlight一出生,就是冲着Flash来的,竞争对手要放弃了,他也没啥继续存在的必要了? 我觉得没这么简单。微软下一步一定要在手机和平板上有所作为,就要找到新的竞争目标,而现在市场占有率最高的手机系统是安卓。安卓是谷歌“无心插柳”的结果,这一结果使得谷歌不太好轻易放弃既得利益...

推荐10款不错的HTML5框架

图片
前两个月还在感叹WebOS的垮掉,现在突然发现HTML5比预期的时间提前来到了。难道真的是惠普的WebOS就是死在早了那么一两年么?那么真如现在所说的Oracle要低价收购的话,那真是在最合适的时间捡到一个大便宜啊。好了,废话不多说,今天推荐10款不错的HTML5的开发框架。 1、 Sencha Touch Sencha Touch是专门为移动设备开发应用的Javascrt框架。通过Sencha Touch你可以创建非常像native app的web app,用户界面组件和数据管理全部基于HTML5和CSS3的web标准,全面兼容Android和Apple iOS。这个是大名鼎鼎的EXT框架的公司整合其另外两个框架发展而来的,自然首先推荐。 今天 Sencha Touch 发布 2.0 的首个开发者预览版。这在 Sencha Touch 1.0 发布的一年之后。新版本主要工作侧重于性能提升、易用以及内置打包方面。 相关连接: 下载 Touch Touch 文档 下载 SDK 工具 (Mac-only) 下图是 ST 2.0 和 1.0 在启动时间的比较: 另外 2.0 版本在文档方面也做了很多改进, 查看 2.0 文档 。 2、PhoneGap PhoneGap是一款HTML5平台,通过它,开发商可以使用HTML、CSS及JavaScript来开发本地移动应用程序。因此,目前开发商可以只 编写一次应用程序,然后在6个主要的移动平台和应用程序商店(app store)里进行发布,这些移动平台和应用程序商店包括:iOS、Android、BlackBerry、webOS、bada以及Symbian。上个月该公司已经被Adobe公司协议收购,有了强大的后台支撑。(话说Adobe也通过收购在HTML5开发标准上占了一席之地啊) 下面是一些使用该框架的代码示例: 获取地理位置: //GAP will invoke this function once it has the location function gotLocation(lat,lon){ $('lat').innerHTML = "latitude: " + lat; $('lon').innerHTML = "longitude: " + ...