最新版本dede与discuz通过ucenter完美整合

今天接到客户订单,客户要求仿17173游戏门户网站然后再加个论坛,我选择程序了DEDECMS和Discuz这个组合。首先是空间的选择,我选择了10人合租虚拟主机。然后到相关的官方网站上面下载相关的程序,我下载的是DedeCmsV5.7-GBK+Discuz_X2_RC_SC_GBK+UCenter_1.6.0_SC_GBK这个程序组合。涉及到怎样把用户在游戏门户网站上注册的用户名能够在交流论坛上面同样能够登录。这就需要把 dede和discuz整合到一起,怎么整呢,没有头绪。网上找的一些方法,都不太详细。然后自己一步步安装,总结了出来。

一,首先需要安装 ucenter(这个是必须的,没有这个用户管理中心,DEDE和DZ就没法整合了。)

1 首先在dede根目录下建立文件目录(取文件夹名为uc_server)

2 将ucenter的安装包通过FTP上传的方式传到 uc_server这个目录下面

3 通过您的域名地址:http://xxx.com/uc_server 访问安装ucenter 数据库可以安装在dede的数据库下,不会和DEDE的数据库造成冲突。因为数据库表的前缀不一样。

Read More

php中全局变量global的使用

简介

即使开发一个新的大型PHP程序,你也不可避免的要使用到全局数据,因为有些数据是需要用到你的代码的不同部分的。一些常见的全局数据有:程序设定类、数 据库连接类、用户资料等等。有很多方法能够使这些数据成为全局数据,其中最常用的就是使用“global”关键字申明,稍后在文章中我们会具体的讲解到。
使用“global”关键字来申明全局数据的唯一缺点就是它事实上是一种非常差的编程方式,而且经常在其后导致程序中出现更大的问题,因为全局数据把你 代码中原本单独的代码段都联系在一起了,这样的后果就是如果你改变其中的某一部分代码,可能就会导致其他部分出错。所以如果你的代码中有很多全局的变量, 那么你的整个程序必然是难以维护的。
本文将展示如何通过不同的技术或者设计模式来防止这种全局变量问题。当然,首先让我们看看如何使用“global”关键字来进行全局数据以及它是如何工作的。

Read More

实例化php类的时候如何传参

当我们实例化一个php类的时候,要怎么传递参数呢?这取决于该类的构造方法。

例:

person.class.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php  
class person{
var $name;
var $color;
var $sex;
var $age;
function __construct($name,$age='',$sex='boy'){
$this->name = $name;
$this->age = $age;
$this->sex = $sex;
$this->color = 'yello';
}
function eat(){
echo $this->name.'要吃饭';
}
function xinxi(){
echo $this->name.' is '.$this->sex.' and age is '.$this->age.' fuse is '.$this->color;
}
function zuoyong(){
//类似于这样的内部调用,相当于把eat()的代码引入到zuoyong()里面,而不是跳转到eat()里面继续执行
//如果是http://localhost/zuoyong?food=xigua这样的url来调用zuoyong()
//那么eat()中可直接通过$_GET['food']获取url参数,因为全局变量可在函数内部使用
$this->eat();
}
}
?>

Read More