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 Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
him
Отправлено: 01 Августа, 2013 - 10:19:06
Post Id


Гость


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


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




photo.class.php
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?php
  3. Class Photo // Объявляем новый класс
  4. {
  5.    var $a;    
  6.    var $b;  
  7. }
  8.  

вопрос, как правильно подключить класс например из index.php

в интернете оказалось столько вариантов, и все с какими то нюансами. виденье переменных, их сохранение, выгружаемость. что то я запутался.
 
 Top
imya
Отправлено: 01 Августа, 2013 - 10:20:50
Post Id



Участник


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Сент. 2012  
Откуда: Запорожье, Украина


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




PHP:
скопировать код в буфер обмена
  1. require_once('photo.class.php');


?


-----
PHP:
скопировать код в буфер обмена
  1. do {box != cat;} while (cat != box);


Когда нормальный человек, уезжая из дома одевает на жену пояс верности, веб-дизайнер ставит на нее счетчик...
 
My status
 Top
Contr
Отправлено: 01 Августа, 2013 - 11:27:21
Post Id



Частый гость


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


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




imya пишет:
PHP:
скопировать код в буфер обмена
  1. require_once('photo.class.php');


?

Это включение содержимого файла в эту строку.
Для подключения класса (создания экземпляра класса, т.е. объекта)
 
 Top
imya
Отправлено: 01 Августа, 2013 - 11:41:04
Post Id



Участник


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Сент. 2012  
Откуда: Запорожье, Украина


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




Contr пишет:
Это включение содержимого файла в эту строку.
Для подключения класса (создания экземпляра класса, т.е. объекта)


Без инклюда вы не сможете создать экземпляр класса Подмигивание


-----
PHP:
скопировать код в буфер обмена
  1. do {box != cat;} while (cat != box);


Когда нормальный человек, уезжая из дома одевает на жену пояс верности, веб-дизайнер ставит на нее счетчик...
 
My status
 Top
teddy
Отправлено: 01 Августа, 2013 - 12:03:33
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


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




him
Уточните пожалуйста вопрос. Так будет проще вам помочь, не совсем понятно что вы хотите...

И для начала хотя бы не пишите var перед свойствами класса. Такой вариант уже давно устарел. На смену пришли public, protected и private. Если не знаете что означают эти три слова, то пока просто вместо var пишите public
 
 Top
esterio
Отправлено: 01 Августа, 2013 - 12:12:03
Post Id



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


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




Contr пишет:
Это включение содержимого файла в эту строку.

Да ну, не верю
 
 Top
him
Отправлено: 01 Августа, 2013 - 12:19:24
Post Id


Гость


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


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




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

есть два файле, один photo.class.php содержимое я приводил.

и есть файл index.php от куда его планирую использовать.

часть примеров классов в интернете была с var часть public, protected и private.
если не сложно... для чего все усложнила или поменяли. это как то связано с видемостью переменных..?
 
 Top
teddy
Отправлено: 01 Августа, 2013 - 12:34:02
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


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




him
Ну так в index.php сделайте include "photo.class.php"; и в этом же файле где есть класс создайте объект от этого класса. Можно и в index.php создать объект можно и в файле самого класса. Но я например обычно создаю объект в самом файле с классом. После вам будут доступны через объект свойства и методы этого класса.

Типа $obj->property

А там уже делать с ними что хотите в пределах возможностей пыха...

Если вы плохо знаете функции(процедурный подход), то перед тем как начать ООПшничать лучше набейте руку на использовании обычных самописных функциях.

him пишет:
для чего все усложнила или поменяли. это как то связано с видемостью переменных..?

Ну допустим когда используем var или public - это как бы имеем глобальный доступ к свойству или методу класса. Изначально было только var, потом уже появились public private и protected. Перед методами не обязательно писать public. Они по умолчанию все public. Например через объект можно будет уже обратиться к public $obj->publicVar

а к private например вы уже так обратиться не сможете. Думаю идея понятна. Но это не значит что вам нужно сейчас все подряд делать public private или protected. Тоесть вы должны четко понимать где и какой модификатор использовать. Если вы этого пока не понимаете, ничего страшного, используйте только public.

А var выкиньте.

(Отредактировано автором: 01 Августа, 2013 - 12:35:54)

 
 Top
LIME
Отправлено: 01 Августа, 2013 - 12:37:05
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




teddy пишет:
Но я например обычно создаю объект в самом файле с классом.
это означает что тебе нужен только 1 экземпляр
это в свою очередь означает что можно обойтись статическими методами и не создавать экземпляров вообще
 
 Top
teddy
Отправлено: 01 Августа, 2013 - 12:39:58
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


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




LIME
Конечно можно ) Я просто в общем сказал исходя из проблемы скажем так Закатив глазки
 
 Top
LIME
Отправлено: 01 Августа, 2013 - 12:57:05
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




teddy какой такой проблемы шмаблемы?
нет смысла создавать экземпляр в файле с классом
перечитай выше еще
(Добавление)
ну возможно есть смысл в синглтоне....больше не знаю случаев
 
 Top
him
Отправлено: 01 Августа, 2013 - 13:00:32
Post Id


Гость


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


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




я так понимаю что include "photo.class.php"; цепляем в начале файла index.php ?
а есть ли разница как цеплять через include , require_once, require ?

у меня index.php так сказать роутер файл.

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

так родилось все свое написанное добавить в класс, и прокоментировать красоту их вызовов!

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

а потом задаем входные значения, и отправляем на выполнение в класс, потом проверяем ошибки.
ну и так далее.

если мое понимание ошибочно, поправте пожалуйста.
 
 Top
teddy
Отправлено: 01 Августа, 2013 - 13:21:37
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


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




LIME пишет:
нет смысла создавать экземпляр в файле с классом

Почему? не вижу разницы, поправь если ошибаюсь... Создать экземпляр в файле с классом или подключить файл а потом создать экземпляр - какая разница? Ведь в любом случае будет одно и то же. Если сделать статический метод например, и обращаться к нему без создания нового объекта, то конструктор не будет вызван и это уже разница...

Кстати тогда созрел параллельный вопрос к тебе: раз уж тема пошла об этом, то получается если нам не нужен конструктор, то лучше не создавать объект а использовать статические методы? Если да, тогда уж лучше выбросить классы и написать пару-тройку обычных процедурных функций чем лишний раз создавать класс... Хотя мб я тебя не так понял
 
 Top
soffrick
Отправлено: 01 Августа, 2013 - 13:36:20
Post Id



Посетитель


Покинул форум
Сообщений всего: 379
Дата рег-ции: Май 2012  
Откуда: Россия, Москва


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




teddy пишет:
я например обычно создаю объект в самом файле с классом
teddy пишет:
плохо знаете функции(процедурный подход)

советчик высшего сорта


-----
Правильный вопрос - уже половина правильного ответа!

p.s. индусы повсюду, будьте осторожны!
 
 Top
caballero
Отправлено: 01 Августа, 2013 - 13:42:59
Post Id


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


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


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




Цитата:
Создать экземпляр в файле с классом или подключить файл а потом создать экземпляр - какая разница? Ведь в любом случае будет одно и то же.

даже близко не одно и тоже

Цитата:
советчик высшего сорта

ну это всегда так - кто сам не умеет тот больше всех дает советы как надо


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB