对象关系映射(Object Relational Mapping 简称ORM)允许你把数据库中的数据 当成一个PHP对象来操纵和控制。一旦你定义了ORM和你的数据库中数据的关系,那么无论你用任何你喜欢的方式操纵数据,以及保存结果到数据库,都不需要使用SQL语言。通过创建按照配置约定的模型之间的关系,大部分从数据库中重复的编写创建,读取,更新和删除信息的查询可以被减少或者完全消除。所有的关系都能被自动用ORM库来处理并且你可以像使用标准对象属性一样访问相关数据。 注意:请确定你使用了最新的 3.0.* 来处理, 最新的版本可以访问 http://dev.kohanaphp.com/projects/kohana3/files 启用 第一步是 启用并配置 数据库(database)模块 Orm模块被包括在 Kohana3.0安装程序中。但是在你使用前需要你去启用它。 在你的 application/bootstrap.php 文件中修改调用的 Kohana::modules() 方法,按照下面的示例来包含 orm 模块。 Kohana::modules(array( ‘userguide’ => MODPATH.’userguide’, ‘database’ => MODPATH.’database’, ‘orm’ => MODPATH.’orm’, // orm access )); 没有必须的配置文件 定义模型 简单 如果你的数据库和名称约定( 在v2 版本的文档中有提到)匹配并且你不使用pdo链接,模型可以像这样简单的定义: class Model_Account extends ORM { } 定制 一些基本模型属性的定义: class Model_Account extends ORM [...]
Piwik: 开放源代码的Web统计软件 Piwik是一个PHP和MySQL的开放源代码的Web统计软件. 它给你一些关于你的网站的实用统计报告,比如网页浏览人数, 访问最多的页面, 搜索引擎关键词等等… Piwik拥有众多不同功能的插件,你可以添加新的功能或是移除你不需要的功能,Piwik同样可以安装在你的服务器上面,数据就保存在你自己的服务器上面。你可以非常容易的插入统计图表到你的博客或是网站抑或是后台的控制面板中。安装完成后,你只需将一小段代码放到将要统计的网页中即可。 同时,做为一个开源项目软件,Piwik也鼓励开发人员对其功能进行扩展增强,他们将提供诸多便利来有助于你的二次开发工作。 概况 Piwik 支持插件,你可以通过插件扩展 Piwik 的功能,或者去掉一些不需要的功能。用户的界面支持 Ajax 技术是可定制的,你可以轻松拖放控件,定制自己需要的报告。 使用者独立拥有自己的统计数据,而不是寄存在服务商那里,这样就可以更灵活的使用统计数据,不用担心数据丢失问题。 Piwik 是安装在服务器端的统计工具,安装过程很简单,但是需要服务器支持 PHP5.1 和 MySQL 。安装的时候上传 Piwik 到服务器端,然后打开浏览器,Piwik 会自动运行安装,整个过程不超过 5 分钟。 目前 Piwik 已支持中文。 Piwik-文档 如何安装Piwik? 如果你的服务器满足技术需求,按照这个一步一步的安装指南,Piwik将在5分钟内运行。对中高流量的网站,看一下如何设置自动存档页让Piwik超高速运行! 如何更新Piwik? 阅读如何将Piwik从老版本更新到最新版本的快速指南。 目标跟踪 更多的了解如何用Piwik创建和跟踪目标,提供了一些博客、电子商务网站及内容网站跟踪的例子。 Javascript跟踪 了解如何使用Piwik Javascript标签自定义页面名称,跟踪目标或下载。 常见问题 看一下关于Piwik最常见的问题,安装、更新、配置、插件等等。 Piwik跟踪API 了解如何不用Javascript而用图片Tracker,以及/或直接调用HTTP跟踪API用Piwik跟踪用户。 Piwik分析API 你可以使用Piwik分析API请求一个或几个网站的网站分析报告,指定日期或时间(天、周、月、年)。这个API也允许创建、修改和删除网站、用户和目标,因此,Piwik能与你的现有程序轻松整合在一起。 Piwik开发者文档 Piwik开发者园地里可以找到所有的开发者文档:如何使用Piwik API、如何建立插件、教程、数据库模式等等。如果你想熟练掌握Piwik,那么请仔细研究这些内容。
Date::fuzzy_span()方法用一个失真的方式返回所给出时间和现在时间之间的差异 用法 Date::fuzzy_span(159084000); 将返回 several decades ago Date::fuzzy_span(1258264800); 将返回 less than a month ago Date::fuzzy_span(1261720800); 将返回 in less than a month
Date::unix2dos()方法将UNIX格式的时间戳转换为DOS格式的时间戳 用法 Date::unix2dos(159084000); 将返回 2162688 转换DOS时间戳到UNIX格式 Date::dos2unix()方法将DOS格式的时间戳转换为UNIX格式的时间戳 用法 Date::dos2unix(2162688); 将返回 159084000
Date::span()方法用人类可读格式返回两个时间戳之间的时差 用法 echo Date::span(time(), time()+3600, ‘hours’); 将返回 1 Date::span(159084000, 227512800); 将返回 Array ( [years] => 2 [months] => 2 [weeks] => 0 [days] => 0 [hours] => 15 [minutes] => 24 [seconds] => 20 ) Date::span(159084000, 227512800, ‘months,days’); 将返回 Array ( [months] => 26 [days] => 0 )
Date::years()方法返回起始年和终止年中的年份组成的数组。使用当前年 +/-5就是当前年的 最大/最小 用法 echo Date::years(); 将返回 Array ( [2004] => 2004 [2005] => 2005 [2006] => 2006 [2007] => 2007 [2008] => 2008 [2009] => 2009 [2010] => 2010 [2011] => 2011 [2012] => 2012 [2013] => 2013 [2014] => 2014 ) echo Date::years(1975, 1981); 将返回 Array ( [1975] => 1975 [1976] => 1976 [...]
Date::months()方法会返回一个数组,该数组包括了1年内的月的递增集合。 用法 echo Date::months(); Array ( [1] => 1 [2] => 2 [3] => 3 [4] => 4 [5] => 5 [6] => 6 [7] => 7 [8] => 8 [9] => 9 [10] => 10 [11] => 11 [12] => 12 )
Date::days()方法会返回一个数组,该数组包括了你给的月内的天的递增集合。 用法 echo Date::days(5); 将返回 Array ( [1] => 1 [2] => 2 [3] => 3 [4] => 4 [5] => 5 [6] => 6 [7] => 7 [8] => 8 [9] => 9 [10] => 10 [11] => 11 [12] => 12 [13] => 13 [14] => 14 [15] => 15 [16] => 16 [...]
Date::adjust()方法调整了一个非24小时数字为24小时数字。 用法 echo Date::adjust(8, ‘PM’); 将返回 20 echo Date::adjust(12, ‘PM’); 将返回 12 echo Date::adjust(9, ‘PM’); 将返回 21
Date::ampm()方法会按你给的小时返回一个AM或者PM。只能用在24小时。 用法 echo Date::ampm(8); 将返回 AM echo Date::ampm(11); 将返回 AM echo Date::ampm(12); 将返回 PM echo Date::ampm(18); 将返回 PM