0

如何创建一个可以使用 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。对不起语法,我是巴西人,我说葡萄牙语。

4

1 回答 1

0

您应该检查 Zend_Controller_Router_Route 以获得一个干净的 url。下面是一些开始使用 clean-url 和 zend 路由的链接。

于 2013-02-05T04:23:24.753 回答