- 浏览: 16256 次
- 性别:
- 来自: 大连
最新评论
文章列表
连接mysql 数据库
<?php
$dsn = 'mysql:host=localhost;dbname=world;';
$user = 'user';
$password = 'secret';
try
{
$dbh = new PDO($dsn, $user, $password);
}
catch (PDOException $e)
{
echo 'Connection failed: ' . $e->getMessage();
}
?>
连接sqlite
<?php
$dsn = 'sqlite2: ...
<?php
class ArrayToXML
{
/**
* The main function for converting to an XML document.
* Pass in a multi dimensional array and this recrusively loops through and builds up an XML document.
*
* @param array $data
* @param strin ...
<?php
/**
* xml2array() will convert the given XML text to an array in the XML structure.
* Link: http://www.bin-co.com/php/scripts/xml2array/
* Arguments : $contents - The XML text
* $get_attributes - 1 or 0. If this is 1 the function will get the attributes as well as the ...
<?php
error_reporting(E_ALL);
class Base implements Serializable{
private $baseVar;
public function __construct(){
$this->baseVar = 'foo';
}
public function serialize(){
return serialize($this->baseVar);
}
public function unserialize($serialized){
$this->baseVar = u ...
self::和$this->的区别
self::可以访问实例变量和类变量,$this->只可以访问实例变量
函数可以定义静态变量
function function_static_var(){
static $test=1;
$test +=1;
echo $test;
}
父类和子类可以声明同名的静态变量,保存不同的值
<?php
class P{
public static $a = "parent static var";
}
class C extends P{
public static ...
你是PHP菜鸟,如果你:
1. 不会利用如phpDoc这样的工具来恰当地注释你的代码
2. 对优秀的集成开发环境如Zend Studio或Eclipse PDT视而不见
3. 从未用过任何形式的版本控制系统,如Subclipse
4. 不采用某种编码与命名标准,以及通用约定,不能在项目开发周期里贯彻落实
5. 不使用统一开发方式
6. 不转换(或)也不验证某些输入或SQL查询串(译注:参考PHP相关函数)
7. 不在编码之前彻底规划你的程序
8. 不使用测试驱动
开发
9. 不在错误开启状态下进行编码和测试(译注:参考PHP函数error_reporting)
10. ...
// An example callback function
function my_callback_function() {
echo 'hello world!';
}
// An example callback method
class MyClass {
static function myCallbackMethod() {
echo 'Hello World!';
}
}
...
这是2006年老外发的一篇文章,转过来品一品
原文地址——10 things you (probably) didn’t know about PHP
1.
使用 ip2long() 和 long2ip() 函数来把 IP
地址转化成整型存储到数据库里。这种方法把存储空间降到了接近四分之一(char(15) 的 15 个字节对整形的 4
个字节),计算一个特定的地址是不是在一个区段内页更简单了,而且加快了搜索和排序的速度(虽然有时仅仅是快了一点)。
想起了之前客齐集面试的一道题,问的是如果有100万个ip地址,如何存储能够比较节约空间。当时想了近半个小时,最后还是投降,今 ...
虽然我们可以通过 @Autowired 在 Bean 类中使用自动注入功能,但是 Bean 还是在 applicatonContext.xml
文件中通过 <bean> 进行定义 —— 在前面的例子中,我们还是在配置文件中定义 Bean,通过 @Autowired为
Bean 的成员变量、方法形参或构造函数形参提供自动注入的功能。
那么能不是也可以通过注解定义 Bean,从 XML 配置文件中完全移除 Bean 定义的配置呢?
答案是肯定的,我们通过 Spring 2.5 提供的 @Component 注释就可以达到这个目标了。
修改Bean的java类的代码如 ...
在(三)里面。我们引入了 <bean
class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"/&
gt;这个bean 来处理@Autowired注解。
其实在spring 里面还有其他三个BeanPostProcessor 。总共有四个,分别是:
AutowiredAnnotationBeanPostProcessor
CommonAnnotationBeanPostProcessor
Persist ...
通过 (一)
,(二)
的介绍。我们已经做了初步的简化程序。
但
是在我们编写spring 框架的代码时候。一直遵循是这样一个规则:所有在spring中注入的bean 都建议定义成私有的域变量。并且要配套写上
get 和 set方法。虽然
...
我们简化了hibernate中扰人的 xxxxx.hbm.xml文件。那么是否可以再进行简化呢?
那么,我们在这一步骤的目的,就是把整个 hibernate.cfg.xml都给简化了。
依然是利用注解注入的方式。通过jpa 我们可以把 hibernate.cfg.xml中那些 mapping classes再次简化与无形。
在applicationContext.xml中进行如下配置
<?xml version="1.0" encoding="UTF-8"?>
<beans ...
以下几篇文章简单的介绍一下jpa 和 spring2.5 hibernate3.2 整合配置的一个过程。纯粹个人经验只谈。如果有错误,请各位留言指出。
本系列重点是涉及 配置过程 ,对注释的用法不多介绍。
注
释语法越来越多的被业界所使用,并且注释配置相对于 XML 配置具有很多的优势:它可以充分利用 Java
的反射机制获取类结构信息,这些信息可以有效减少配置的工作。注释和 Java 代码位于一个文件中,而 XML
配置采用独立的配置文件,大多数配置信息在程序开发完成后都不会调整,如果配置信息和 Java 代码放在一起,有助于增强程序的内聚性。而采用独立的
XML
配 ...
成struts,spring,hibernate时,对于初学者来说最大的麻烦就其繁琐的xml配置文件。现在三者都对基于注解的配置提供了良好的支持
。在struts2中,使用convent plugin,得益于annotation和规约,配置过程得以大大减少。在spring2.5也可以使用@Autowired,进行注入,
使用@Controller,@Service,@Repository注解,自动定义bean,还支持annotation风格的声明式事务支持,以及aspectJ类似的AOP。
hibernate也可以使用JPA标准注解定义实体描述,避免使用mapping文件。
当然,对 ...