php开发环境搭建

最近因为公司需要,开始学习 php了, 首先得搭建开发环境,网上看了下教程,就开始自己搭建环境了

一般的都是用Dreamweaver进行开发,再下载xampp集成安装环境就行了

安装环境windows xp sp3

准备:

Dreamweaver8下载地址

xampp1.7.3

下载完以后,解压安装,Dreamweaver的安装很简单

主要说下xampp的安装

将下载的文件解压到E盘(以我的系统为例),

php开发环境搭建 step1
php开发环境搭建 step1

解压完成后xampp会弹出一个cmd出来

像下面这样的

php开发环境搭建 step2
php开发环境搭建 step2

xampp的设置界面

php开发环境搭建 step3
php开发环境搭建 step3

全部都直接回车就行了,按照默认的设置

php开发环境搭建 step4
php开发环境搭建 step4

程序 会自动安装相关的脚本

php开发环境搭建 step5
php开发环境搭建 step5

一直等到出现这个画面的时候,

基本环境都已经安装成功了

好了 打开你的浏览器输入

http://localhost

会出现恭喜安装完成的界面

php开发环境搭建 step6
php开发环境搭建 step6

呵呵,为了学习PHP,下载了一个留言板进行研究, 具体下载 见这里

下面说一下Dreamweaver建立一个站点

选择站点->新建站点,切换到高级

php开发环境搭建 step7
php开发环境搭建 step7

设置远程信息

php开发环境搭建 step8
php开发环境搭建 step8

本地信息

php开发环境搭建 step9
php开发环境搭建 step9

ok,现在搭建站点完成了.

有时候觉得Dreamweaver不怎么方便,那就试试 eclipesphp吧.xampp的安装方法同上面一样的

从eclipse官网下载,在这里.下载完以后呢,请参考这里设置java的开发环境,只需要第一步就行了,即 java环境安装.

配置好环境后,直接打开eclipsephp就行了 .

DNN建立独立模块开发项目 编译后丢失引用

这个问题已经困扰了我很久很久,一直没有解决。终于受不了,下定决心搞定它。

事情是这样,在我安装好DNN 的模版后,建立好项目, 见 利用vs独立开发DNN模块 。

首先注册Audit控件

<%@ Register TagPrefix="dnn" TagName="Audit" Src="~/controls/ModuleAuditControl.ascx" %>

调用



在注册了几个DNN的自带的UserControls后,错误出现在我的控件EditMyModule.ascx,编译就会报出下面的错误,。


Error 24 'System.Web.UI.UserControl' does not contain a definition for 'Text' and no extension method 'Text' accepting a first argument of type 'System.Web.UI.UserControl' could be found (are you missing a using directive or an assembly reference?) D:\Artur\dnn\installdnn\DotNetNuke_Community_05.01.00_Install\DesktopModules\MyModule\EditMyModule.ascx.cs 91 40 MyModule
Error 25 'System.Web.UI.UserControl' does not contain a definition for 'CreatedByUser' and no extension method 'CreatedByUser' accepting a first argument of type 'System.Web.UI.UserControl' could be found (are you missing a using directive or an assembly reference?) D:\Artur\dnn\installdnn\DotNetNuke_Community_05.01.00_Install\DesktopModules\MyModule\EditMyModule.ascx.cs 92 38 MyModule
Error 26 'System.Web.UI.UserControl' does not contain a definition for 'CreatedDate' and no extension method 'CreatedDate' accepting a first argument of type 'System.Web.UI.UserControl' could be found (are you missing a using directive or an assembly reference?) D:\Artur\dnn\installdnn\DotNetNuke_Community_05.01.00_Install\DesktopModules\MyModule\EditMyModule.ascx.cs 93 38 MyModule
Error 27 'System.Web.UI.UserControl' does not contain a definition for 'Text' and no extension method 'Text' accepting a first argument of type 'System.Web.UI.UserControl' could be found (are you missing a using directive or an assembly reference?) D:\Artur\dnn\installdnn\DotNetNuke_Community_05.01.00_Install\DesktopModules\MyModule\EditMyModule.ascx.cs 157 50 MyModule

问了下同事,这是由于在转换web应用程序(Convert to web application)时程序自动生成出错,直接在文件的相关的

EditMyModule.ascx.designer.cs文件中修改,先找到下面这段代码

protected global::System.Web.UI.UserControl ctlAudit;
修改成这样

protected global::DotNetNuke.UI.UserControls.ModuleAuditControl ctlAudit;
就可以了,其他的控件按照相应的修改

在DotNetNuke.UI.UserControls命名控件下有很多的控件,像ModuleAuditControl、TextEditor都在这里常用的控件 ,更多的相关介绍见园子里的DNN通用控件介绍上 DNN通用控件介绍下

但是后来发现这种方法有一种弊端,那就是改了一次下次还得改,只有你修改了EditMyModule.ascx控件中的代码 ,那么在EditMyModule.ascx.desiger.cs中中,那该死的错误又会出现了。

经过一段时间的摧残,实在是没办法了,要调试的次数多,改来改去,就浪费时间了。google之,在这里找到了。

好了,解决方法如下:

1.彻底删除EditMyModule.ascx.desiger.cs文件

2.在EditMyModule.ascx.cs源代码文件中手动声明相关的控件名字

protected DotNetNuke.UI.UserControls.TextEditor txtContent,MyTxtContent;
protected DotNetNuke.UI.UserControls.ModuleAuditControl ctlAudit,MyctlAudit;


3.右键EditMyModule.ascx 选择 Convert to web application

4.编译 succeeded

搞定收工!

DNN模块开发

学习DNN已经很长时间了,再不写点东西出来,就对不住自己了。话说DNN已经出来差不多6年了,该写的东西许多的前辈们基本都写完了,那我写什么呢?那就写模块的源代码剖析吧。模块开发,可以建立独立的项目来进行开发,这样主要是为了节约时间。详细见这里。一般情况下是用在VS2008中打开整个站点来开发模块,但是缺点是浪费时间,编译浪费时间。

建立好模块项目后,基本一个示例的东西都弄好了。就模块中的搜索功能以及导入、导出进行研究。

导出主要是由

代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> public string ExportModule(int ModuleID)
{

string strXML = "";

List colMyModules = GetMyModules(ModuleID);
if (colMyModules.Count != 0)
{
strXML += "";
foreach (MyModuleInfo objMyModule in colMyModules)
{
strXML += "";
strXML += "" + XmlUtils.XMLEncode(objMyModule.Content) + "";
strXML += "";
}
strXML += "";
}

return strXML;

}