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
Форумы портала PHP.SU :: Версия для печати :: Классы и объекты в PHP
Форумы портала PHP.SU » » Если скрипт не работает » Классы и объекты в PHP

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

1. СЕРьГА - 19 Апреля, 2011 - 16:14:34 - перейти к сообщению
Я копирую примеры кода, приведённые в уроке "Классы и объекты в PHP", в свой документ php, но в браузере выходит либо пустая страница, либо ошибка.
2. OrmaJever - 19 Апреля, 2011 - 16:18:32 - перейти к сообщению
СЕРьГА пишет:
либо ошибка.

круто...
3. СЕРьГА - 19 Апреля, 2011 - 17:25:56 - перейти к сообщению
OrmaJever пишет:
СЕРьГА пишет:
либо ошибка.

круто...


А чего круто-то??
4. OrmaJever - 19 Апреля, 2011 - 17:40:50 - перейти к сообщению
кто то что текста ошибки нету. Или вы думаете php ошибки пишет для красоты?
(Добавление)
и какой конкретно код используете
5. СЕРьГА - 19 Апреля, 2011 - 18:02:26 - перейти к сообщению
OrmaJever пишет:
кто то что текста ошибки нету. Или вы думаете php ошибки пишет для красоты?
(Добавление)
и какой конкретно код используете


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

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

}

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

копирую, сохраняю, открываю в браузере и ничего - пустое окно.
6. DeepVarvar - 19 Апреля, 2011 - 18:06:32 - перейти к сообщению
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. ?>
7. СЕРьГА - 19 Апреля, 2011 - 18:26:26 - перейти к сообщению
Получилось, спасибо.. но.. у меня и с другими кодами не получается(( Мне что теперь с каждым кодом сюда обращаться? Почему в уроках усттаревшие коды?(
8. OrmaJever - 19 Апреля, 2011 - 20:00:56 - перейти к сообщению
СЕРьГА пишет:
Почему в уроках усттаревшие коды?(

1) Уроки писались давно
2) Они не особо устарелые просто ращитаны но понимающую публику. Вы уже остальные уроки прочитали поняли?
9. СЕРьГА - 20 Апреля, 2011 - 09:57:00 - перейти к сообщению
OrmaJever пишет:
СЕРьГА пишет:
Почему в уроках усттаревшие коды?(

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


Ну я вообще-то только начинаю. Пару уроков вроде понял. Но мне трудно без примеров разбираться, а примеры вот не всегда работают(
10. СЕРьГА - 20 Апреля, 2011 - 15:25:59 - перейти к сообщению
Ну а возьмём теперь этот код: <?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" нет Не понял
11. EuGen - 20 Апреля, 2011 - 15:35:56 - перейти к сообщению
Перепишите так:
PHP:
скопировать код в буфер обмена
  1.  
  2. function Getname() {
  3. echo "<h3>".$this->name."</h3>";
  4. }
  5.  

И до вызова, где жедаете увидеть Alex, делайте
$object->name="Alex";
а для John:
$object->name="John";
12. СЕРьГА - 20 Апреля, 2011 - 16:23:21 - перейти к сообщению
Спасибо, в этом я разобрался, но вот теперь со следующим кодом проблеема: <?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

Эх, наверное, мне никогда не постичь этот язык((
13. OrmaJever - 20 Апреля, 2011 - 16:38:11 - перейти к сообщению
СЕРьГА пишет:
Эх, наверное, мне никогда не постичь этот язык((

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

класы это уже вышая ступень, а вам бы начать сначала. На главной странице найдите это меню и читайте по очереди
14. Kirilik - 20 Апреля, 2011 - 16:57:12 - перейти к сообщению
СЕРьГА пишет:
Эх, наверное, мне никогда не постичь этот язык((
Терпение и труд, как известно, все перетрут!
Конкретный язык тут ни при чем. Вы нарушили подход, общий для всех языков программирования и об этом Вам выдали предупреждение:
СЕРьГА пишет:
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. }

а уже в вызове об этом почему-то забыли:
PHP:
скопировать код в буфер обмена
  1. $object->Init();

Должно быть так:
PHP:
скопировать код в буфер обмена
  1. $object->Init("Alex");
15. СЕРьГА - 28 Апреля, 2011 - 16:33:03 - перейти к сообщению
Извините, ну а в этом коде что не так?:<?php
// == это оператор, который проверяет
// эквивалентность и возвращает булево значение
if ($action == "показать_версию") {
echo "Версия 1.23";
}

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

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

 

Powered by ExBB FM 1.0 RC1