博文

目前显示的是 十一月, 2011的博文

使用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: " + ...