如何创建一个可以使用 Facebook 等 URL 的应用程序?
- app.dev/用户名
- app.dev/用户名/图片
- app.dev/用户名/信息
- app.dev/用户名/posts/post_333
- app.dev/用户名/posts/post_333/share
该应用程序具有其他具有不同 URL 的控制器
- app.dev/事件
- app.dev/site/contact
- app.dev/site/terms
当控制器不存在时,重定向到配置文件控制器
在应用程序.ini
autoloaderNamespaces[] = "Plugins"
resources.frontController.plugins[] = "Plugins_Profiles"
在 Bootstrap.php 中
protected function _initProfiles()
{
$front = Zend_Controller_Front::getInstance();
$front->registerPlugin(new Plugins_Profiles());
}
在 /library/Plugin/Profiles.php
class Plugins_Profiles extends Zend_Controller_Plugin_Abstract
{
public function preDispatch(Zend_Controller_Request_Abstract $request)
{
$dispatcher = Zend_Controller_Front::getInstance()->getDispatcher();
if (!$dispatcher->isDispatchable($request)) {
$url = $request->getControllerName();
$request->setModuleName('default');
$request->setControllerName('profiles');
$request->setActionName('url');
$request->setParam('url', $url);
/** Prevents infinite loop if you make a mistake in the new request **/
if ($dispatcher->isDispatchable($request)) {
$request->setDispatched(false);
}
}
}
}
但我不能发送变量 例如:app.dev/username/posts/post_333/share
知道我应该如何进行吗?
PS。对不起语法,我是巴西人,我说葡萄牙语。