Как вызвать функцию контроллера в другом файле php - codigniter - PullRequest
0 голосов
/ 11 марта 2012

Сначала просто посмотрите на мой код, чем я объясню свою проблему.

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Category extends CI_Controller {

function Category()
{
    parent::__construct();
    $this->load->model('category_model');
}
public function index()
{


}

public function _left()
{
    echo "side";
    $data['all_categories'] = $this->category_model->getallcategory();

    $this->load->view('include/left', $data);
}
}

это мой контроллер категорий, у меня есть функция left (), в которой я перечислял все категории в левой панели моего сайта.

Я просто хочу знать, как я могу показать данные функции left () в другом php-файле?

Ответы [ 4 ]

3 голосов
/ 11 марта 2012

У вас действительно не должно быть функции, которую вы бы вызывали повторно или из другого файла в контроллере ... обычно вы хотели бы поместить их в библиотеку Helper или как плагин ...

Для функции, которую вы создали, мне интересно, знаете ли вы, что у вас может быть представление, которое вызывает другие представления. Например, у вас есть представление шаблона, которое будет загружать представление заголовка, представление, на которое ссылается $ data из вашего контроллера, и ваше левое представление и т. Д. *

Я бы прочитал больше о MVC и его настройке, а также о том, как вы выложите свои файлы немного больше, поскольку это избавит вас от огромной головной боли и некоторого грязного кода.

Удачи!

0 голосов
/ 15 октября 2014

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: ЭТО АРЕНДА

Я знаю, что все пытаются быть "полезными", но, пожалуйста, пожалуйста, пожалуйста, прекратите использовать "вспомогательные" классы и "вспомогательные" файлы.Модели получают свои собственные данные, они сохраняют свои собственные данные, короче говоря, они помогают !! !! 1003 *

Пример:

НЕ создавайте файл с именем "userhelper.php", просто поместитеметоды в файле с именем "user.php".Это называется моделью.Вы можете сказать в этот момент: «Что, если мне нужно поделиться моделью с другой частью моего проекта или просто где-то еще, но заставить ее выглядеть иначе, чем-то еще?»Вот где вы бы использовали модель представления.В модели представления отсутствует информация о постоянстве, фактически она должна значительно отличаться от модели, достаточной для обоснования ее собственного существования.

Чтобы подвести итог, просто поместите CRUD в саму модель.Не создавайте «менеджеров» или «помощников» или как там, чёрт возьми, вы хотите их называть.

И мне все равно, поощряет ли CodeIgniter это своей «вспомогательной» структурой. Это все-таки НЕПРАВИЛЬНО и неООП. Вы закончите писать беспорядочный код и дублируете усилия повсюду.

0 голосов
/ 11 марта 2012

Я бы посоветовал написать помощника и автоматически загрузить его в файл конфигурации

Для получения дополнительной информации о создании помощников перейдите по ссылке CodeIgniter: Создать нового помощника? или ознакомьтесь с руководством пользователя CodeIgniter.

0 голосов
/ 11 марта 2012

Вы вызываете создать одну функцию и вызывать множество представлений из этого. или создайте один основной вид и другой вид сверху, слева, справа, по центру и загрузите с основного вида

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...