PHP实现:
function distance($lat1, $lon1, $lat2, $lon2, $unit) {
$theta = $lon1 - $lon2;
$dist = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) + cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($theta));
$dist = acos(...
1、配置语言文件
CI 应用目录下有一个 language 语言包目录,用来配置多种不同的语言。语言的配置位于 config/config.php 文件中,配置格式如下:
$config['language'] = 'english';
2、定义语言文件
language下有个空的english目录,即上面定义的系统默认语言目录,系统会从该目录加载语言包文件。如果要定义不同的语言包,如zh_cn...
Cfans_gpl 2014年1月7日 开源项目 浏览(5570) 关键字: CodeIgniter
zend studio中ctrl+鼠标左键无法转到类或函数定义文件的解决方法:
zendstudio 时常 无法ctrl+左键 跳转 到函数源 代码 是创建工程的方式造成的,很有可能是把先前存在的工程以file的形式导入, zendstudio 就把工程当作文档来处理了。
解决的办法是:
右键点击工程->configure->add php support 然后系统会自动rebuild工程/wo...
用symfony 开发的程序乍看起来有些吓人。它包含很多目录和脚本,有PHP类,HTML 甚至两者的混合,程序里面有些类很难找到定义的地方。不过一旦你了解了这些背后的原因,就会突然发现这其实是很自然的,symfony程序的结构就应该是这样。
MVC 模式
symfony基于 MVC 架构这个经典的 Web 设计模式,MVC 架构包含三层:
· 模型(model) 代表程序操作的信息--业务逻辑。
· 视图(v...
引入symfony权威指南的概念:
开发网页程序是一件单调乏味的,慢速的事情。按照常规软件开发生存周期(类 似于Rational 统一过程里设想的),要等到有完整的需求, 绘制大量的UML 图, 产生了大量的正式文档之前准备阶段的文档才能开始开发。这是由于一般 的开发速度,缺少通用性的程序语言(在能正式看到程序可用之前不知道要多少 次的建立,编译,重运行), 最主要的就是客户不会经常改变他们的主意。
今天,商业节奏更快了,客户总是倾...
引入symfony权威指南的概念:
数据库是关系型数据库。 PHP5 和symfony 是面向对象的。为了用面向对象的方法访问数据库, 必须用一个接口来表示对象之间的逻辑关系。这个接口就叫作对象关系映射(object-relational mapping)或者ORM。
ORM 是由能够访问数据和存放业务规则的对象组成。
对象/关系抽象层的其中一个优点是可以不用直接去访问数据库。它会使用经过优化的模型对象来访问当前的数据库。
这就意味着在...
预定义文中用到的变量:
$em = $this->getDoctrine()->getEntityManager();
$repository = $em->getRepository('AcmeStoreBundle:Product');
1、基本方法
$repository->find($id);
$repository->findAll();
$repository->fin...
Maven确实很强大,但稍许有些复杂,特别是项目之间的依赖,包括CI上的集成,要在项目里搭建一个良好的build环境真的比较难,特别是不同模块的POM相互依赖,如何提高重用性,低耦合性都是值得研究的问题。
Maven in action(Maven实战)这本书写的还是比较全面的,特意在此分享一下中文版的Maven实战。
见附件,并附代码示例下载。
离线下载
在线阅读
在此也特别感...
1.用Maven 命令创建一个简单的Maven项目
在cmd中运行如下命令:
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app-simple -Dversion=1.0 -DarchetypeArtifactId=maven-archetype-quickstart 即可在当前目录创建一个简单的maven项目,当然创建的时候会从Maven...
最近,项目经理让我看看maven,因为一些需要,所以就对maven进行了简单的学习。看到了一篇日志,感觉写得还不错,特意在此处分享一下,当然我也不是完全拿来主义,同时也进行了一些改编,也算是自我总结吧。
----------------准备工作-------------
Jdk 1.6 以上java开发环境
Eclipse IDE 一个
Maven 3.1.0 下载地址:http://maven.apache.o...
Symfony2设定与样板
概要
本文主要介绍建立 Symfony2 网站的几个开始步骤,我们会下载与使用Symfony2 标准版,来建立部落格软体包以及放入主要网页样板。在这一节结束后你会制作出一个设定好的Symfony2网站,能够透过本地网址存取,像是http://symblog.dev/。这个网站会包含部落格主要的网页结构以及一些测试内容。
在这个章节会展示下面这些主题:
设...
使用zend studio调试PHP非常方便,zend studio默认支持调试工具zend debugger,也允许使用第三方调试工具。今天以PHP教程形式分享如何使用zendstudio配置Xdebug来调试PHP程序。使用Xdebug在zendstudio中调试PHP源码之前,请务必安装配置Xdebug,这是基础教程,可参考PHP调试工具Xdebug安装配置教程一文,Xdebug结合zend studio在配置方面还是有点区别的。...
早在知道thinkPHP之前,就已经了解过smarty,那时候只是感觉不太容易上手,后来就不了了之了。时隔多年,研究一个项目的源码,突然发现里面需要加载smarty,到处找下载库竟然一无所获,官网(http://www.smarty.net)也很不给力的挂掉了。
Smarty是一个使用PHP写出来的模板PHP模板引擎,是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTM...
RBAC所用到的表
ThinkPHP的权限是基于用户组的。在本系统中RBAC Model(Role-based Access Model,基于角色的访问控制模型) 主要用到了5个数据表,分别是think_user (用户表)、think_role (用户角色表)、think_role_user (用户和用户角色的对应关系表)、think_node ...
关键字: ant build.xml
Ant的概念
可能有些读者并不理解什么是Ant以及如何使用它,但只要使用通过Linux系统的读者,应该知道make这个命令。当编译Linux内核及一些软件的源程序时,经常要用这个命令。Make命令其实就是一个项目管理工具,而Ant所实现功能与此类似。像make、gnumake和nmake这些编译工具都有一定的缺陷,但是Ant却克服了这些工具的缺陷。最初Ant开发者在开发跨平...
Libchart是一个免费绘制图表的PHP库,很好用,由于是老外写的,所以对中文支持不好,在图表里显示为乱码。
点此下载 最新版的Libchart类库
官网地址
乱码解决办法:
1、自己写的使用Libchart库生成图表的php文件以utf-8编码保存;
2、找几个中文字体库,比如华文行楷、宋体等等,复制到libchart\fonts目录下;
3、修改libchart\classes目录下的text...
当我们使用ThinkPHP时,我们往往会涉及到跨模块调用的问题,在ThinkPHP的官方文档中,为我们提供了A和R两个快捷方法的使用。A方法本媛暂未详细进行研究,在本文中侧重说明R方法的使用问题。
在官网上我们不难找到最新版本的在线手册(目前最新的版本是3.13)。
下面是官方上面的定义,R方法表示调用一个模块的某个操作方法。
调用格式是:
R('[项目://][分组/]模块/操作','参数','控制器层名称') 调用示例:
...
ThinkPHP 内置了数据对象的自动验证功能来完成模型的业务规则验证。自动验证是基于数据对象的,而大多情况下数据对象是基于 $_POST表单 (不是绝对的)创建的。ThinkPHP的Model基类为我们定义了自动验证的函数和正则表达式,我们只需要在对应的数据库表的模型类下建立$_validate属性就可以了,下面介绍一下TP表单数据自动验证的功能。
语法如下:
protected $_validate = array(
...
Drupal7下使用views_slideshow模块制作轮换图片
http://drupalchina.cn/node/1823
Cfans_gpl 2013年4月24日 开源项目 浏览(4601) 关键字: Drupal-Module
最近公司有个项目,让我研究支付宝的接口。尽管支付宝官网上提供了相对全面的教程及文档,并提供在线技术支持,但是最初还是进入了一个误区,总觉得应该记载下来。因为支付宝并不提供测试账号,所以必须申请,而最初我们只能使用个人账号进行申请,由于是最初是想做虚拟交易,查了官方资料推荐的方式就是使用即时到帐了,但是由于我们是个人,而且之前也没有进行过相关的申请及运营,我就理所当然的以为个人账号只能申请担保交易接口了,后来才知道个人账号也是可以申请双接...