Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> __autoload в разных для разных классов 
:(
    Опции темы
Wexsel
Дата 25.1.2011, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 9.1.2011

Репутация: нет
Всего: нет



Допустим есть файл index.php class1.php и class2.php
class1 - фабрика классов но классы для него лежат в папке subclasses1
a
class2 - фабрика классов, но классы лежат в папке subclasses2

индекс создает в себе class1 и class2

__autoload- функция а не метод. и соотв. если мы сделаем его строго для папки subclasses1 то для class2 срабатывать не будет. 

Теоретически можно сделать нечто такое

Код

function __autoload($param){
if(file_exist($path.'/subclasses1/'.$param.'.php')) include $path.'/subclasses1/'.$param.'.php';
elseif(file_exist($path.'/subclasses2/'.$param.'.php')) include $path.'/subclasses2/'.$param.'.php';
}


Но это не будет работать, для случая если есть суб-класс view который есть в обоих папках. а мы хотим вызвать из 2 папки




PM MAIL   Вверх
solenko
Дата 25.1.2011, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: 34
Всего: 67



То, что у вас в проекте есть классы с одинаковыми именами уже ошибка. Разбираться с таким кодом потом -- смерти подобно. 
Именуйте классы, закладывая в них путь. Например Zend_DB_Table описан в Zend/DB/Table.php

Добавлено через 12 минут и 43 секунды
Кстати, можно реализовать и без строгого именования черет register_spl_autoload


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
Sanchezzz
Дата 25.1.2011, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



а если переработать структуру вызовов и некоторые классы сгруппировать в пространства имён (namespaces) (PHP 5.3 сам лично откололся от возможностей namespaces).


Это сообщение отредактировал(а) Sanchezzz - 25.1.2011, 14:31


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0751 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.