【问题标题】:CodeIgniter Url rewriting similar to Pinterest and TwitterCodeIgniter Url 重写类似于 Pinterest 和 Twitter
【发布时间】:2023-03-18 19:15:01
【问题描述】:

我刚刚开始使用 CodeIgniter,我正在创建一个用户登录的网站。我想知道如何根据登录用户的用户名将自定义名称写入类似于 twitter 和 pinterest 的登录用户的 URL .

http://pinterest.com/username/

目前我有一个配置文件控制器,它只是有;

http://example.com/profile/

为每个用户。使用codeigniter可以做到这一点吗?

【问题讨论】:

    标签: codeigniter twitter url-rewriting pinterest


    【解决方案1】:

    要输出链接,您可以使用CI's URL helper

    你必须自动加载它,它会在config/autoload.php 下:

    $autoload['helper'] = array('url');
    

    或者从你的函数中加载它:

    $this->load->helper('url');
    

    然后您可以使用anchor() 输出http://example.com/profile/ 之类的链接:

    $username = 'Corey'; // Set the user's name
    anchor($username);
    

    这将输出:

    http://example.com/corey/

    我假设您不想在控制器中为数据库中的每个用户创建一个函数。将魔术方法 __call() 添加到您的控制器并使用用户名作为参数重定向到您的配置文件功能:

    public function __call($name, $arguments)
    {
        $this->profile($name);
    }
    

    但这还不够,您还必须进行一些路由黑客攻击。 See Minimize your URLs in CodeIgniter.

    【讨论】:

    • 好的,我正在处理您向我展示的内容,我会尽快回复您:)
    • 谢谢,我对你的想法很感兴趣 :-)
    • 从您的链接中,最好只在配置文件控制器“profile/getuser/args”中创建一个函数并从 url 路由“profile/getuser”方法吗?
    • 是的,如果这就是你的意思,那么你甚至不需要魔法 __call。
    • 是的,我还是太绿了,哈哈,但我确实想以正确的方式做事,为你的帮助伙伴欢呼:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-31
    • 2011-09-09
    • 1970-01-01
    • 2015-08-01
    • 2012-08-17
    相关资源
    最近更新 更多