Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как с помощью ссылки обратиться к объекту в классе

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: class
Давит
Отправлено: 11 Июня, 2011 - 00:04:38
Post Id



Частый гость


Покинул форум
Сообщений всего: 147
Дата рег-ции: Май 2011  


Помог: 2 раз(а)




Как с помощью ссылки обратиться к объекту в классе.

пример есть код
PHP:
скопировать код в буфер обмена
  1. class Welcome extends CI_Controller {
  2.  
  3.  
  4.         public function page1()
  5.         {
  6.                 echo"это страница page1";
  7.         }
  8. }


В браузере пишут ссылка /welcome/page1 и на странице отображается "это страница page1"

как такого можно сделать?
что надо написать в классе CI_Controller ?

(Отредактировано автором: 11 Июня, 2011 - 00:06:36)

 
 Top
OrmaJever Модератор
Отправлено: 11 Июня, 2011 - 00:29:32
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




PHP:
скопировать код в буфер обмена
  1. $v = 'page1'; // может быть любая переменая из GET
  2.  
  3. $w = new welcome;
  4. $w->$v();

Вот только нужно фильтровать значения чтобы пользователь лишнего не вызвал Подмигивание

(Отредактировано автором: 11 Июня, 2011 - 00:30:10)



-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
jonston
Отправлено: 11 Июня, 2011 - 20:27:15
Post Id



Посетитель


Покинул форум
Сообщений всего: 455
Дата рег-ции: Март 2011  


Помог: 3 раз(а)




Ты показал фрагмент из Codeigniter.
Такое представление данных не совсем корректно!
Создай файл вида 'welcome_view.php' и помести его в папку application/views

теперь пропиши в этом файле пропиши
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <html>
  3.     <head></head>
  4.     <body>
  5.         <a href="<?php echo base_url().'welcome/page1' ?>">перейти на страницу 1</a>
  6.     </body>
  7. </html>
  8.  


а в контроллере :

PHP:
скопировать код в буфер обмена
  1.  
  2. class Welcome extends CI_Controller {
  3.  
  4.         public function page1()
  5.         {
  6.              $this->load->view('welcome_view.php');
  7.         }
  8.  
  9. }
  10.  


это и будет ссылка на объект CI который представлен как я понимаю в виде страницы.
ссылка в этом примере будет ссылаться сама на себя!


-----
$i = 0;
$i = $i++ + ++$i; ?
 
 Top
Давит
Отправлено: 11 Июня, 2011 - 21:26:55
Post Id



Частый гость


Покинул форум
Сообщений всего: 147
Дата рег-ции: Май 2011  


Помог: 2 раз(а)




jonston
Спасибо за ответ,
Я посмотрел видео уроки по Codeigniter.

и мне интересовал что написано в классе CI Controller ,
я поискал класс CI_Controller в файлах но не нашел Огорчение
 
 Top
DeertOff
Отправлено: 30 Июля, 2011 - 07:48:52
Post Id



Гость


Покинул форум
Сообщений всего: 126
Дата рег-ции: Июль 2011  


Помог: 3 раз(а)




незнаю что там в этом кодеигниторе, неразбирался,

но возможно зделано примерно так:

PHP:
скопировать код в буфер обмена
  1.  
  2. /////////// твой контроллер  /////////
  3. class Welcome extends CI_Controller
  4. {
  5.         public function page1()
  6.         {
  7.                 echo "это страница page1";
  8.         }
  9. }
  10.  
  11. /////////// базовый /////////
  12. abstract class CI_Controller
  13. {
  14.     public static function Ruote()
  15.     {
  16.         $arr = explode('/', $_SERVER['REQUEST_URI']);
  17.  
  18.         $obj = new $arr[2];
  19.         $obj->$arr[3]();
  20.     }
  21. }
  22.  
  23.  
  24.  
  25. //////// Это в index.php /////////////
  26.  
  27. CI_Controller::Ruote();
  28.  

примитивно - но работает
нету проверок и всего остального Хорошо

а от index.php в url кроме как с помощью .htaccess неизбавиться

(Отредактировано автором: 30 Июля, 2011 - 08:01:48)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Объектно-ориентированное программирование »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB