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

 PHP.SU

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


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

> Описание: Вопрос о примерах кода в уроке "Классы и объекты в PHP".
СЕРьГА
Отправлено: 19 Апреля, 2011 - 16:14:34
Post Id


Гость


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


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




Я копирую примеры кода, приведённые в уроке "Классы и объекты в PHP", в свой документ php, но в браузере выходит либо пустая страница, либо ошибка.
 
 Top
OrmaJever Модератор
Отправлено: 19 Апреля, 2011 - 16:18:32
Post Id



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


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


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




СЕРьГА пишет:
либо ошибка.

круто...


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
СЕРьГА
Отправлено: 19 Апреля, 2011 - 17:25:56
Post Id


Гость


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


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




OrmaJever пишет:
СЕРьГА пишет:
либо ошибка.

круто...


А чего круто-то??
 
 Top
OrmaJever Модератор
Отправлено: 19 Апреля, 2011 - 17:40:50
Post Id



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


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


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




кто то что текста ошибки нету. Или вы думаете php ошибки пишет для красоты?
(Добавление)
и какой конкретно код используете


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
СЕРьГА
Отправлено: 19 Апреля, 2011 - 18:02:26
Post Id


Гость


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


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




OrmaJever пишет:
кто то что текста ошибки нету. Или вы думаете php ошибки пишет для красоты?
(Добавление)
и какой конкретно код используете


Ну вот например:<?php
// Создаем новый класс Coor:
class Coor {
// данные (свойства):
var $name;
var $addr;

// методы:
function Name() {
echo "<h3>John</h3>";
}

}

// Создаем объект класса Coor:
$object = new Coor;
?>

копирую, сохраняю, открываю в браузере и ничего - пустое окно.
 
 Top
DeepVarvar Супермодератор
Отправлено: 19 Апреля, 2011 - 18:06:32
Post Id



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


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


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




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. // Создаем новый класс Coor:
  3. class Coor {
  4. // данные (свойства):
  5. var $name;
  6. var $addr;
  7.  
  8. // методы:
  9. function Name() {
  10. echo "<h3>John</h3>";
  11. }
  12.  
  13. }
  14.  
  15. // Создаем объект класса Coor:
  16. $object = new Coor;
  17.  
  18.  
  19. $object->Name();
  20. $object->Name();
  21. $object->Name(); // теперь попробуйте
  22.  
  23.  
  24.  
  25. ?>
 
 Top
СЕРьГА
Отправлено: 19 Апреля, 2011 - 18:26:26
Post Id


Гость


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


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




Получилось, спасибо.. но.. у меня и с другими кодами не получается(( Мне что теперь с каждым кодом сюда обращаться? Почему в уроках усттаревшие коды?(
 
 Top
OrmaJever Модератор
Отправлено: 19 Апреля, 2011 - 20:00:56
Post Id



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


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


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




СЕРьГА пишет:
Почему в уроках усттаревшие коды?(

1) Уроки писались давно
2) Они не особо устарелые просто ращитаны но понимающую публику. Вы уже остальные уроки прочитали поняли?


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
СЕРьГА
Отправлено: 20 Апреля, 2011 - 09:57:00
Post Id


Гость


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


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




OrmaJever пишет:
СЕРьГА пишет:
Почему в уроках усттаревшие коды?(

1) Уроки писались давно
2) Они не особо устарелые просто ращитаны но понимающую публику. Вы уже остальные уроки прочитали поняли?


Ну я вообще-то только начинаю. Пару уроков вроде понял. Но мне трудно без примеров разбираться, а примеры вот не всегда работают(
 
 Top
СЕРьГА
Отправлено: 20 Апреля, 2011 - 15:25:59
Post Id


Гость


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


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




Ну а возьмём теперь этот код: <?php
// Создаем новый класс Coor:
class Coor {
// данные (свойства):
var $name;

// методы:
function Getname() {
echo "<h3>John</h3>";
}

}

// Создаем объект класса Coor:
$object = new Coor;
// Получаем доступ к членам класса:
$object->name = "Alex";
echo $object->name;
// Выводит 'Alex'
// А теперь получим доступ к методу класса (фактически, к функции внутри класса):
$object->Getname();
// Выводит 'John' заглавными буквами
?>

У меня в браузере почему-то только 'John' выводит, а "Alex" нет Не понял
 
 Top
EuGen Администратор
Отправлено: 20 Апреля, 2011 - 15:35:56
Post Id


Профессионал


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


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




Перепишите так:
PHP:
скопировать код в буфер обмена
  1.  
  2. function Getname() {
  3. echo "<h3>".$this->name."</h3>";
  4. }
  5.  

И до вызова, где жедаете увидеть Alex, делайте
$object->name="Alex";
а для John:
$object->name="John";


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
СЕРьГА
Отправлено: 20 Апреля, 2011 - 16:23:21
Post Id


Гость


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


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




Спасибо, в этом я разобрался, но вот теперь со следующим кодом проблеема: <?php
// Создаем новый класс Coor:
class Coor {
// данные (свойства):
var $name;
var $city;

// Инициализирующий метод:
function Init($name) {
$this->name = $name;
$this->city = "London";
}

}

// Создаем объект класса Coor:
$object = new Coor;
// Для инициализации объекта сразу вызываем метод:
$object->Init();
?>
Браузер выводит следующее:
Warning: Missing argument 1 for Coor::Init(), called in Z:\home\localhost\www\site\1.php on line 22 and defined in Z:\home\localhost\www\site\1.php on line 12

Эх, наверное, мне никогда не постичь этот язык((
 
 Top
OrmaJever Модератор
Отправлено: 20 Апреля, 2011 - 16:38:11
Post Id



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


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


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




СЕРьГА пишет:
Эх, наверное, мне никогда не постичь этот язык((

Дом тоже никогда не построят начиная с крыши.
СЕРьГА пишет:
Ну я вообще-то только начинаю. Пару уроков вроде понял.

класы это уже вышая ступень, а вам бы начать сначала. На главной странице найдите это меню и читайте по очереди


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Kirilik
Отправлено: 20 Апреля, 2011 - 16:57:12
Post Id


Гость


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


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




СЕРьГА пишет:
Эх, наверное, мне никогда не постичь этот язык((
Терпение и труд, как известно, все перетрут!
Конкретный язык тут ни при чем. Вы нарушили подход, общий для всех языков программирования и об этом Вам выдали предупреждение:
СЕРьГА пишет:
Warning: Missing argument 1 for Coor::Init(), called in Z:\home\localhost\www\site\1.php on line 22 and defined in Z:\home\localhost\www\site\1.php on line 12
Сообщения об ошибках и предупреждения стоит читать, это не пустой звук.

Вы объявили функцию Init(), как принимающую аргумент $name:
PHP:
скопировать код в буфер обмена
  1. function Init($name) {
  2. $this->name = $name;
  3. $this->city = "London";
  4. }

а уже в вызове об этом почему-то забыли:

Должно быть так:
 
 Top
СЕРьГА
Отправлено: 28 Апреля, 2011 - 16:33:03
Post Id


Гость


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


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




Извините, ну а в этом коде что не так?:<?php
// == это оператор, который проверяет
// эквивалентность и возвращает булево значение
if ($action == "показать_версию") {
echo "Версия 1.23";
}

// это не обязательно...
if ($show_separators == TRUE) {
echo "<hr>\n";
}

// ...потому что вы можете просто написать
if ($show_separators) {
echo "<hr>\n";
}
?>
 
 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