分类 PHP 中的文章

在ThinkPHP整合新浪微博SDK

最近在玩PHP,在看了基本语法以后就开始看ThinkPHP了,几年以前接触过一些,但是基本上都忘的差不多了 现在再看的时候,发现版本更新了好多,添加了很多新的功能特性,使用时候也有很多不一样的,之前写了一篇边看边写的笔记,ThinkPHP的学习笔记 今天结合官方的文档来整合一下新浪微博的SDK,在使用的过程中还是有一些问题需要注意的,我使用的是3.2.3版本

……

阅读全文

ThinkPHP的学习笔记

初始化一个项目

thinkphp是单入口文件

1
2
3
4
5
<?php
define("APP_NAME", "THINK_Study");
define("APP_PATH", "./study/");
define("APP_DEBUG", true);
require("./ThinkPHP/ThinkPHP.php");

Note:

  1. 要先定义APP_PATH,后再include thinkphp 主入口文件,要不然会在当前目录上建立目录,很乱
  2. 各种版本生成的目录有些不同,我现在用的是3.2.3 就没有lib目录,而是只有一个home目录,下面的Controller目录相当于之前版本的是lib目录,里面记录着控制器,是MVC中的C,同级目录还有Model和View目录,这样更明显
  3. 各个项目下的Conf\config.php 里的内容只有自已的项目才能读取,其它项目读取不了,比如admin读不了study配置
……

阅读全文

与wordpress垃圾评论斗争到底

由于本人个人博客小站的空间与mysql空间有限,共享服务器资源也有限,所以这些垃圾评论一定要拦截在写入数据库之外。

更可气的是看到空间的统计,很几千的IP访问,但基本上都是这个垃圾评论的IP,所以实在不能忍

网上找了一些方法,主要有三个,如果将这三个一块使用基本上就可以拦截绝大多数垃圾评论

……

阅读全文

利用新浪SAE storage服务做图床

新浪SAE 为用户提供storage服务,来永久性存储文件,这很好的为用户提供图片等文件存储服务,以下通过方法来建立一个自己的图床

需求:上传一张照片,返回这张照片的地址

实现 http://kevinkelin.sinaapp.com/fileupload.php

首先在SAE上建立一个storage 的domain

首先在SAE上建立一个storage 的domain,(其实再之前你需要有一个应用,这里不写了)

……

阅读全文

解决新浪开放平台应用(oauth2)网站无法认证的问题

前些天一直在倒腾新浪微博的开放平台,一开始用的oauth1,利用官方的PHP SDK写了一个简单发微博的应用,但是很遗憾,没有成功,这里简单的写一下

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php

session_start();
include_once( 'config.php' );
include_once( 'weibooauth.php' );
$c = new WeiboClient( WB_AKEY , WB_SKEY , $_SESSION['last_key']['oauth_token'] , $_SESSION['last_key']['oauth_token_secret'] );

?>

<form action="" method="post">
<input type="text" name="text" id="1">
<input type="submit" name="submit" value="发表微博">
</form>
<?php
if(isset($_POST['text'])){
$rr=$c->update($_POST['text']);

echo "发表成功";

}

?>
……

阅读全文

ThinkPHP中的CURD之C

CURD 增 删 改 查

C

create方法

每当实例化一个数据对象后,当需要接收post来值的时候,要用create方法来创建一个对象,根据表单提交的POST数据创建数据对象,并保存在内存中,可以通过dump($user)查看,返回值是一个数组

1
2
3
4
5
$user=M('user');

$vo=$user->create();

dupm($vo); //这时会遍历出得到的(post)值
……

阅读全文

ThinkPHP四种实例化模型的方法

假设数据库中有一个think_user的数据表

普通方式

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
$user=new Model('user');

$user=M('user');

/*

user的U可以大写,也可以小写,当库中还有一个think_user_message等表的时候,可以使用

new Model('userMessage') 或者new Model(user_message),也就是说大写的首字母相当于带下划线的单词

此方法也可以用快捷方法,M方法

*/
……

阅读全文

通过新浪SAE搭建自己的个人博客

新浪SAE是个好东西,对于学习PHP的同学是一个不错的练习空间,(现在已经推出了java了,不过需要邀请码)不用在四处寻找廉价的主机,而且 平台上已经集成了很多现成的应用,博客空间有wordpress,emlog等,PHP框架有thinkPHP,cakephp等,而且还是 ecshop,最土等电子商务系统,更方便的应用于用户,感兴趣的同学可以体验一下,现在我将写一篇关于搭建wordpress博客应用和自己创建一个新 浪微博的简单应用来抛砖引玉,让更多的同学朋友了解SAE。

SAE地址 http://sae.sina.com.cn/

需要准备:新浪微博账号(必须),自己注册的域名(可选),SAE提供二级域名的访问,xxx.sinaapp.com 也可以绑定自己的域名,注意这里的域名可以不用备案哦~

搭建wordpress博客应用

具体步骤

……

阅读全文

关于PHP面向对象的一点网摘(继承性与访问类型)

类的继承 继承作为面向对象的三个重要特性的一个方面,在面向对象的领域有着极其重要的作用,好像没听说哪个面向对象的语言不支持继承。继承是PHP5 面向对象程序设计的重要特性之 一,它是指建立一个新的派生类,从一个或多个先前定义的类中继承数据和函数,而且可以 重新定义或加进新数据和函数,从而建立了类的层次或等级。说的简单点就是,继承性是子类自动共享父类的数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的 时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为 自己的内容,并加入若干新的内容。比如你现在已经有一个“人”这个类了,这个类里面有 两个成员属性“姓名和年龄”以及还有两个成员方法“说话的方法和走路的方法”,如果现在 程序需要一个学生的类,因为学生的也是人,所以学生也有成员属性“姓名和年龄”以及成 员方法“说话的方法和走路的方法”,这个时候你就可以让学生类来继承人这个类,继承之后, 学生类就会把人类里面的所有的属性都继承过来,就不用你再去重新声明一遍这些成员属性 和方法了,因为学生类里面还有所在学校的属性和学习的方法,所以在你做的学生类里面有 继承自人类里面的属性和方法之外在加上学生特有的“所在学校属性”和“学习的方法”, 这样一个学生类就声明完成了,继承我们也可以叫做“扩展”,从上面我们就可以看出,学生 类对人类进行了扩展,在人类里原有两个属性和两个方法的基础上加上一个属性和一个方法 扩展出来一个新的学生类。 通过继承机制,可以利用已有的数据类型来定义新的数据类型。所定义的新的数据类型 不仅拥有新定义的成员,而且还同时拥有旧的成员。我们称已存在的用来派生新类的类为基 类,又称为父类以及超类。由已存在的类派生出的新类称为派生类,又称为子类。 在软件开发中,类的继承性使所建立的软件具有开放性、可扩充性,这是信息组织与分 类的行之有效的方法,它简化了对象、类的创建工作量,增加了代码的可重性。采用继承性, 提供了类的规范的等级结构。通过类的继承关系,使公共的特性能够共享,提高了软件的重 用性。 在C++语言中,一个派生类可以从一个基类派生,也可以从多个基类派生。从一个基类派生的继承称为单继承;从多个基类派生的继承称为多继承。但是在PHP 和Java 语言里面没有多继承,只有单继承,也就是说,一个类只能直接从 一个类中继承数据,这就是我们所说的单继承。 也就是说一个子类只能有一个父类,但一个父类可以有多个子类 例如: 下面是“人”类的抽象

……

阅读全文