1.从http://www.apache.org下载相应的Apache版本。
2.从http://www.php.net下载相应的PHP版本。
3.从http://www.phpmvc.net下载相应的php.MVC版本。
4.建立目录c:\www作为Web服务器目录,c:\webapp作为Web根目录,
你也可以定义自己的目录,以下作相应的修改即可。
5.将Apache安装到c:\www,打开浏览器,在地址栏输入http://localhost测试是否安装成功
注意:如果你的系统上已经安装有其他Web服务器(如IIS 5),且占用了80端口,请先停止该服务器。
6.把php压缩到一个目录下,如:f:\php5
7.把php目录下的php.ini-dist拷贝到系统目录,C:\winnt,改名叫php.ini
8.根据php的版本,这里是php5,把php5ts.dll和libXXX.dll文件拷贝到C:\winnt\system32下
9.打开apache的配置文件httpd.conf,apache默认安装在C:\Program Files\Apache Group\Apache2下,因此配置文件就在这个目录的conf下
10.找到LoadModule那行,在下面输入:LoadModule php5_module "F:/php5/php5apache2.dll"(请根据你的位置修改)
11.找到AddType那行,在下面加入:AddType application/x-httpd-php .php
12.保存配置文件,打开php.ini文件
13.找到doc_root,在等号后面的引号里写上你的apache的web根目录,如:doc_root = "C:\www"
14.找到extension_dir,在等号后面的引号里写上你的php5目录下的ext目录地址,如:extension_dir = "f:\php5\ext".注:php4是extension目录
15.找到extension,这些行前面都有逗号,就是注释,你可以看你的php5下的ext目录下(php4是extension目录)有那些dll,然后就把前面的逗号去掉.
16.保存php.ini,打开apache,如果有错误请仔细查看上面的步骤.然后在写一个php文件,内容是:
phpinfo();
?>
保存为test.php,然后放到web根目录下,打开浏览器,输入:http://localhost/test.php,看看能不能正确显示.如正确即安装成功.
安装php.mvc:
1.将下载的php.mvc解压到web根目录下的phpmvc下(可自己改名字).
2.打开phpmvc下的Main.php打开,找到
$appServerRootDir = 'c:\webapp\phpmvc'; // no trailing slash
引号中间就是你要修改的phpmvc的解压目录
$moduleRootDir = 'c:\webapp\phpmvc'; // no trailing slash
引号中间修改为和$appServerRootDir一样,因为这里是phpmvc的主目录,所以一样
$osType = 'WINDOWS';
引号中间修改为你的操作系统名,它的值只能是UNIX,WINDOWS,MAC中的一个
3.保存此文件,确认c:\webapp\phpmvc\WEB-INF目录下phpmvc-config.data有可写权限。
4.打开浏览器,在地址栏输入http://localhost/phpmvc/Main.php?do=stdLogon测试是否安装成功。(但是我一直都不成功)
5.要查阅更为详细的安装文档,请看http://www.phpmvc.net/docs/installIdx.php?doc=all
6.如果出现Call to a member function on a non-object in \WEB-INF\classes\phpmvc\utils\BootUtils.php错误,请先删除/WEB-INF/phpmvc-config.data文件内容,然后手动修改一下phpmvc-config.xml,比如加一个空格(只需要让php.MVC检测出该文件已经修改过,需要重新生成phpmvc-config.data文件即可).
安装php.mvc的官方例子:(可选)
1.注意:本实例应用程序要求类库版本问php.MVC Beta 0.3.4或更高
2.下载应用程序: php.MVC Users Guide 101 example. (http://www.phpmvc.net/download/rel/phpmvc-guide-101.zip)
3.解压缩到Web根目录,比如:C:\webapp\SalesReports
4.编辑Main.php文件,设置php.MVC类库路径及应用程序路径,如下:
$appServerRootDir = 'C:/webapp/phpmvc'; // no trailing slash
引号里面要修改成你的phpmvc的解压目录
$moduleRootDir = 'C:/webapp/SalesReports'; // no trailing slash
引号里面要修改成你的例子程序的解压目录
5.测试应用程序.访问地址http://localhost/SalesReports/Main.php?do=salesReport(这个我测试成功了)
开发一个自己的项目:
1.在web根目录下新建目录,如:study
2.将phpmvc解压目录下的Main.php和WEB-INF目录拷贝到study目录下,我们要去除我们不需要的文件
3.进入WEB-INF目录,删除除.htaccess,ModulePaths.php,phpmvc-config.xml,phpmvc-config_1_1.dtd,prepend.php以外的目录和文件
4.回到上层目录,修改Main.php文件(其实这个文件就是MVC的C,即控制器),找到$moduleRootDir,修改为此项目的目录,比如:C:/webapp/study
5.还要修改$actionDispatcher,后来需要修改,现在不需要
6.在WEB-INF下新建classes目录,里面放ActionForm,Action和ActionDispatcher类(这些类可以参考上面说的那个例子,这里就不说了).写好ActionDispatcher类后还要把它写到Main.php中的$actionDispatcher里去.
7.你可以在WEB-INF的上层目录写一些php文件用来做显示(也就是MVC的V,即视图),然后配置WEB-INF下的phpmvc-config.xml(可以根据例子或查看官方网站的教程).
8.写好后在浏览器中输入:http://localhost/study/Main.php?do=XXX
其中XXX代表你在phpmvc-config.xml中配置的一些action.看看你你的项目有没有成功.
使用phpmvc自带的ADODB连接池:
1.下载ado库,你可以在http://www.phpe.net/class/106.shtml找到
2.将它解压到你的phpmvc解压目录下的WEB-INF/lib下,这样你的ado库可能在C:\webapp\phpmvc\WEB-INF\lib\adodb下
3.打开C:\webapp\phpmvc\WEB-INF下的GlobalPaths.php,在function getGlobalPaths()中你可以看到许多$appDirs[],在这些$appDirs[]中添加一行:$appDirs[] = 'WEB-INF/lib/adodb';
即指定你的ado库目录
4.保存这个文件,打开globalPrepend.php,添加:
include_once 'WEB-INF/lib/adodb/adodb.inc.php'; //ado的主文件
include_once 'WEB-INF/lib/adodb/drivers/adodb-mysqlt.inc.php'; //mysql的ado驱动
include_once 'AdodbDataSource.php'; //phpmvc自带的ado接口文件
5.保存这个文件,打开phpmvc-config.xml文件在
请根据具体情况修改value中的值,其中databaseType那个值需要看你是什么数据库了,不同数据库value也不一样,这里是mysql
6.找到WEB-INF\classes\phpmvc\dbcp目录下的AdodbDataSource.php,这个就是phpmvc自带的ado接口文件,但是此文件不能工作,你需要修改一下.
首先它的注释就没扩好,在文件的类定义class AdodbDataSource extends adodb_mysqlt上面那些注释没有好好的筐上,你需要加个/*
而且虽然你在phpmvc-config.xml里设置了数据库信息但好像它并没有全部都能得到,你需要在function open()中的$this->PConnect之前加上:
$this->databaseType = 'mysql'; //指定数据库是mysql
$this->database = 'study'; //指定数据库名是study,请根据具体情况自行更改
7.保存此文件.现在你可以使用ado了,在你需要数据库连接的地方,比如ActionForm和Action中.
方法是:
$dsKey = 'ADODB_MYSQL_DATA_SOURCE'; //这个就是你在phpmvc-config.xml中设定的key
$db =& $this->actionServer->getDataSource($dsKey); //得到连接
$sql = "SELECT * FROM user"; //sql语句
$recordSet =& $db->Execute($sql); //执行
if (!$recordSet)
{
exit($db->ErrorMsg());
}
$rowArray = $recordSet->FetchRow(); //得到记录
if (!$rowArray)
{
exit($db->ErrorMsg());
}
echo $rowArray['username']; //请将引号中的内容修改为你的字段名
echo $rowArray['password'];
$recordSet->Close(); //关闭连接
$db->Close(); //关闭连接
8.现在来运行一下你的程序吧
国际化:
1. .properties ファイル (プロパティ ファイル) を使用して、表示する必要があるすべてのテキストを記録できるため、ビューの表示時にテキストをハードコードする必要がなく、複数の .properties ファイルを使用できます。各国の言語を表示するためのプロパティ ファイル
2. この例では、次の小さなファイルを作成します: my.properties, content:
#シャープ記号はコメントです
logon.username.reqd =正規のユーザー名を入力してください[{0}]
logon.password.reqd=正規のパスワードを入力してください [{0}]
今のところ、[] 内のことについては心配しないでください。後で説明します。それについては後で説明します
3. ファイルを保存します。WEB-INF/classes に移動します。つまり、ファイルを必要な場所に次のコードを記述します。
$config = 'my'; // ここにプロパティ ファイルの名前を書き込みます。プログラムは自動的に検索します。
$defaultLocale = new Locale();ゾーン
$pmr = new PropertyMessageResources(NULL,$config,False );
$pmr->setDefaultLocale($defaultLocale);
//テキストの出力を開始します
echo @$pmr-> getMessage($defaultLocale, 'logon.username.reqd');
引用符内は出力したいテキストの属性ファイルに定義されている属性名です
これで@を使用しました。これにより、「通知」メッセージがディスプレイに損傷を与える可能性があるため、前面に表示します
場合 上記が冗長すぎると思われる場合は、出力の前にステートメントを global.php などの php ファイルに記述し、それを次のファイルに含めることができます。すべてのページ
5. プロパティ ファイルの内容は明らかにユーザー名とパスワードです。入力が間違っている場合は、出力時に不正なユーザー名とパスワードも表示されるようにする必要があります。その場合は [{表示する属性名の後ろに [{0}] [{1}] などを記述することもできます。6. ActionForm でユーザー名とパスワードを入力し、それらが正当でない場合はエラー メッセージを出力します。それでは、[{0}] に表示されるように間違ったユーザー名を渡すのはどうでしょうか? array($username); //$username は間違ったユーザー名です。複数ある場合は、ここに配列できます
//これで出力できます
echo @$pmr->getMessage( $locale, 'logon.username.reqd', $args);
7. 次に、英語バージョンを作成します。 はい、my.properties ファイルを my_en_US.properties にコピーし、ファイル内のテキストを英語に変更して保存します。
8. 作成した global.php ファイルを変更します。
$defaultLocale = new Locale('en_US'); //米国のタイムゾーンに変更し、言語を英語にします
9.出力結果が英語になっているかどうかを確認してください。国コードと言語コード (例: en_US) がわからない場合は、phpmvc