Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Выполнение Require() из класса

Сообщения:  [1-5] 

 
 автор: blaze   (08.10.2007 в 01:25)   письмо автору
 
   для: cheops   (07.10.2007 в 10:54)
 

Дело в том, что класс (главный) генерирует во время выполнения скрипта имя php файла, который потом запускает на выполнение и его содержимое сохраняет в переменную. Файл, к которому обращается класс, в свою очередь тоже содержит класс (классы), которые взаимодействуют с главным классом.

   
 
 автор: cheops   (07.10.2007 в 10:54)   письмо автору
 
   для: Valick   (07.10.2007 в 10:46)
 

Под непосредственным взаимодействием что подразумевается?

PS Вообще говоря объекты классов и сами классы не могут не взаимодействовать, как не могут не взаимодействовать объекты реального мира. Всё зависит от предметной области, которая моделируется. ООП - это не только наследование, включение в нём тоже используется интенсивно. Вы не создадите автомобиль наследуя от колёс двигатель, а от двигателя салон - тут как раз подойдёт включение. А включением миллиона амёб класс слона не создать - здесь лучше отталкиваться от наследования свойств.

   
 
 автор: Valick   (07.10.2007 в 10:46)   письмо автору
 
   для: cheops   (07.10.2007 в 10:39)
 

Я так понимаю при непосредственном взаимодействии классов теряется смысл ООП. Или я ошибаюсь?

   
 
 автор: cheops   (07.10.2007 в 10:39)   письмо автору
 
   для: blaze   (07.10.2007 в 01:27)
 

Хм... не понятно, почему бы вам Class2 не подключать перед объявлением Class1
<?php
  
// Подключаем Class2
  
require_once("class.2.php");
  
// Объявляем Class1
  
class Class1{
     ...
  }
?>

PS Или требуется, чтобы оба класса взаимодействовали?

   
 
 автор: blaze   (07.10.2007 в 01:27)   письмо автору
 
 

Доброе время суток!

Столкнулся с проблемой, что вызов require() из класса не приводит к желаемому результату.

Не знаю как правильно объяснить, покажу на примере.

Есть два файла: 1.php и 2.php

В 1.php:

class Class1{

function Class1(){
require "2.php";
}
}

$class1 = new Class1();

, а в 2.php:

class Class2{

...
}

$class2 = new Class2();

После выполнения 1.php мы получим, что Class2 будет "сидеть" внутри Class1. А как сделать, чтобы этого не было, чтобы это были два отдельных класса? Т.е. сделать require() как будто не из класса, а из самого документа.
В данном примере первое, что приходит для решение моей проблемы, это GLOBALS, но здесь я написал упрощенный вариант структуры классов, и в настоящем варианте GLOBALS не помогает и приводит к ошибке "Notice: Trying to get property of non-object".

Вызов require() производится имено из Class1.

Заранее благодарен!

   

Сообщения:  [1-5] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования