codeigniter、库或助手可以通过 url 访问吗?

发布于 2024-12-07 03:25:36 字数 387 浏览 0 评论 0原文

在Codeigniter中,有库和助手。 我可以访问控制器及其子功能。 例如。

login/getid

有没有办法通过 url 访问库或助手?

更新: 我在登录控制器中制作了一个验证码库。 我想在许多其他控制器的视图中使用它。 在视图文件中,验证码代码应该是这样的,

<img src="/login/get_captcha" />

每次我想使用验证码时,我都必须调用登录控制器。

所以,我认为应该有更好的方法来做到这一点。 如果库或助手可以通过 url 访问,我可以将其设置为助手。 可以访问另一个控制器的视图,而无需加载登录的控制器。

In Codeigniter, there are library and helper.
I can access controller and its sub function.
for eample.

login/getid

Is there any way to access library or helper through url?

Update :
I made a captcha library in login controller.
I want to use it in many other controller's view.
in view file, the captcha code should be like this,

<img src="/login/get_captcha" />

everytime I want to use captcha, I have to call login controller.

So, I thought that there should be better way to do this.
If library or helper can access through url, I can make this to helper.
can access another controller's view without loading login's controller.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

愿与i 2024-12-14 03:25:36

您可以创建一个包装控制器来专门访问这些功能,并使用您的路由来利用所述 URL 的

示例:yoursite.com/helper/geo/citiesNearZip/90210

class helperController extends CI_Controller {

    public function __construct()
    {
        parent::__construct();
        $this->load->helper($this->uri->segment(1)); // geo helper in this example

        if($this->uri->segment(2))
        {
            $helper_method = $this->uri->segment(2);
        }
        else
        {
            show_404();
            return false;
        }

        // check if helper has function named after segment 2, function citiesNearZip($zip) in this example...
        if(function_exists($helper_method)
        {
            // Execute function with provided uri params, xss filter, secure, etc...
            // You would also want to grab all the remaining uri params and pass them as 
            // arguments to your helper function
            $helper_method();
        }
    }
}

You can create a wrapper controller to access those functions exclusively and use your routes to utilize said URL's

Example: yoursite.com/helper/geo/citiesNearZip/90210

class helperController extends CI_Controller {

    public function __construct()
    {
        parent::__construct();
        $this->load->helper($this->uri->segment(1)); // geo helper in this example

        if($this->uri->segment(2))
        {
            $helper_method = $this->uri->segment(2);
        }
        else
        {
            show_404();
            return false;
        }

        // check if helper has function named after segment 2, function citiesNearZip($zip) in this example...
        if(function_exists($helper_method)
        {
            // Execute function with provided uri params, xss filter, secure, etc...
            // You would also want to grab all the remaining uri params and pass them as 
            // arguments to your helper function
            $helper_method();
        }
    }
}
请恋爱 2024-12-14 03:25:36

没有。这根本不是框架设计的工作方式。

如果您认为必须直接访问帮助器/库,那么您可能做错了什么。

能解释一下你想做什么吗?一定有更好的方法。

Nope. This is simply not the way the framework was designed to work.

If you think you have to access a helper/library directly, then you're probably doing something wrong.

Can explain what you're trying to do? There must be a better way.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文