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]   

> Без описания
Arch-Web
Отправлено: 08 Августа, 2011 - 17:27:19
Post Id



Частый гость


Покинул форум
Сообщений всего: 177
Дата рег-ции: Июль 2010  
Откуда: Ukraine::Kiev


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




Добрый день, такой вот вопрос, если подключить в функции файл с классом это нормально будет или не желательно так делать ?

staticPost.php
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. class staticPost
  3. {
  4.        public function load()
  5.        {
  6.          return 'StaticPost Load';
  7.        }
  8. }
  9. ?>

index.php
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. class startCore
  3. {
  4.  
  5.     public function showNews()
  6.     {
  7.          require_once("staticPost.php");
  8.          $staticPost = new staticPost;
  9.           return $staticPost->load();
  10.     }
  11. }
  12. $Core = new startCore;
  13.  
  14. echo <<<HTML
  15. <!--- hrml............... --->
  16. {$Core->showNews()}
  17. <!--- hrml............... --->
  18. HTML;
  19.  
  20. ?>



как вы видите я в функции showNews() загрузил файл с классом и потом обьявил класс, и получил то что мне надо было с функции load()

на сколько я знаю класс в функции нельзя создать

тобиш
PHP:
скопировать код в буфер обмена
  1. class test1 {
  2.         function funk()
  3.         {
  4.          class test
  5.           {
  6.              public function hello()
  7.               {
  8.                    return "Hello, World.";
  9.                }
  10.            }
  11.            $t0 = new test;
  12.            return $t0->hello();
  13.         }
  14. }
  15. $t1 = new test1;
  16. echo $t1->funk();


будет ошибка

(Отредактировано автором: 08 Августа, 2011 - 17:38:20)

 
 Top
OrmaJever Модератор
Отправлено: 08 Августа, 2011 - 17:50:43
Post Id



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


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


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




Клас создать нельзя, а вот обьект можно.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Arch-Web
Отправлено: 08 Августа, 2011 - 17:58:33
Post Id



Частый гость


Покинул форум
Сообщений всего: 177
Дата рег-ции: Июль 2010  
Откуда: Ukraine::Kiev


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




ну это понятно, а вот сам факт что я загружаю файл с классом в функции это норм или не желательно так делать ?
 
 Top
Мелкий Супермодератор
Отправлено: 08 Августа, 2011 - 18:00:00
Post Id



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


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




Желательно пользоваться __autoload со строгими правилами называния файлов. Красиво, удобно, быстро.


-----
PostgreSQL DBA
 
 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