Форум программистов, компьютерный форум, киберфорум
PHP: ООП
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
 Аватар для Cheponya
2 / 2 / 0
Регистрация: 18.03.2014
Сообщений: 148

Почему не выдает ошибку?

24.11.2015, 12:44. Показов 1294. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!
Ожидал ошибку но нету...
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
    class Article{
        
        public $id;
        public $art_date;
        public $short_art;
        public $article;
        public $author;
        
        public function __construct($id, $art_date, $short_art, $article, $author){
            $this->id = $id;
            $this->art_date = $art_date;
            $this->short_art = $short_art;
            $this->article = $article;
            $this->author = $author;
        }
        public function getArticle(){
            News::getNews();
        }
    }
?>
это единственный файл
По идее он же должен ошибку выдать что класс/метод не найден?

Добавлено через 18 минут
Хммм...может я путаю но вроде даж без попыток вызова метода/класса несуществующего ошибку выдавал...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.11.2015, 12:44
Ответы с готовыми решениями:

почему выдаёт ошибку?
почему после ввода слова и нажатии кнопки выдаёт ошибку что заголовки нельзя уже отправлять? Ведь вначале есть ob_start() ob_start(); ...

выдает ошибку не пойму почему
Parse error: syntax error, unexpected ';' in /home/a0016454/domains/loto.ru/public_html/page/selectgame.php on line 655 пробовал и так и...

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

16
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
24.11.2015, 19:30
Цитата Сообщение от Cheponya Посмотреть сообщение
Хммм...может я путаю но вроде даж без попыток вызова метода/класса несуществующего ошибку выдавал...
Путаешь. В чем ошибка если несуществующий класс не вызывается?
PHP
1
2
<?
if (false) { $a = new a; echo $rrrr; echo AAAA; some(); }
Вполне валидно
0
 Аватар для GoDr
90 / 79 / 33
Регистрация: 17.08.2015
Сообщений: 512
Записей в блоге: 1
25.11.2015, 19:58
Цитата Сообщение от Cheponya Посмотреть сообщение
По идее он же должен ошибку выдать что класс/метод не найден?
У тебя в коде нет вызова метода getArticle(). Это тебе не IDE
0
 Аватар для Cheponya
2 / 2 / 0
Регистрация: 18.03.2014
Сообщений: 148
25.11.2015, 21:12  [ТС]
Цитата Сообщение от crautcher Посмотреть сообщение
Путаешь. В чем ошибка если несуществующий класс не вызывается?
Спасибо за ответ!
В том, что он все же вызывается! Я не силен в ООП и его синтаксисе, но это по идее вызов статичного метода у класса...т.е. создавать экземпляр не надо, если допустим класс существует и я пытаюсь вызвать метод то выдает ошибку что такой метод не найден...почему же в этом случае отрабатывает?

Цитата Сообщение от GoDr Посмотреть сообщение
У тебя в коде нет вызова метода getArticle(). Это тебе не IDE
Извиняюсь.... а это
PHP
1
News::getNews();
, чтО? и какая взаимосвязь между вызовом метода и какой либо IDE?
0
 Аватар для GoDr
90 / 79 / 33
Регистрация: 17.08.2015
Сообщений: 512
Записей в блоге: 1
25.11.2015, 21:25
Цитата Сообщение от Cheponya Посмотреть сообщение
и какая взаимосвязь между вызовом метода и какой либо IDE?
IDE проверяет наличие класса/функции/метода/свойства во всём проекте. При инициализации PHP код проверяется по мере загрузки

Добавлено через 1 минуту
PS
на всякий случай.. IDE: Интегрированная среда разработки. Я использую PhpStorm. Инспектор это легко покажет. Хотя если в коде не вызывать этот метод, то не будет проблем
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
25.11.2015, 21:26
Цитата Сообщение от Cheponya Посмотреть сообщение
В том, что он все же вызывается! Я не силен в ООП и его синтаксисе, но это по идее вызов статичного метода у класса...т.е. создавать экземпляр не надо, если допустим класс существует и я пытаюсь вызвать метод то выдает ошибку что такой метод не найден...почему же в этом случае отрабатывает?
Вы не поняли.

В Вашем скрипте нигде не вызывается метод getArticle() класса Article. Для того чтобы его вызвать, нужно создать экземпляр класса. И у этого экзмемпляра вызвать метод getArticle(). И вот тогда уже увидите ошибку. То есть так:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
    class Article{
        
        public $id;
        public $art_date;
        public $short_art;
        public $article;
        public $author;
        
        public function __construct($id, $art_date, $short_art, $article, $author){
            $this->id = $id;
            $this->art_date = $art_date;
            $this->short_art = $short_art;
            $this->article = $article;
            $this->author = $author;
        }
        public function getArticle(){
            News::getNews();
        }
    }
$a = new Article;
$a->getArticle();
Вон Вам сколько ошибок) Последняя - та которую Вы хотели.
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Warning: Missing argument 1 for Article::__construct(), called in D:\web\www\html\index.php on line 21 and defined in D:\web\www\html\index.php on line 10
 
Warning: Missing argument 2 for Article::__construct(), called in D:\web\www\html\index.php on line 21 and defined in D:\web\www\html\index.php on line 10
 
Warning: Missing argument 3 for Article::__construct(), called in D:\web\www\html\index.php on line 21 and defined in D:\web\www\html\index.php on line 10
 
Warning: Missing argument 4 for Article::__construct(), called in D:\web\www\html\index.php on line 21 and defined in D:\web\www\html\index.php on line 10
 
Warning: Missing argument 5 for Article::__construct(), called in D:\web\www\html\index.php on line 21 and defined in D:\web\www\html\index.php on line 10
 
Notice: Undefined variable: id in D:\web\www\html\index.php on line 11
 
Notice: Undefined variable: art_date in D:\web\www\html\index.php on line 12
 
Notice: Undefined variable: short_art in D:\web\www\html\index.php on line 13
 
Notice: Undefined variable: article in D:\web\www\html\index.php on line 14
 
Notice: Undefined variable: author in D:\web\www\html\index.php on line 15
 
Fatal error: Class 'News' not found in D:\web\www\html\index.php on line 18
1
 Аватар для Cheponya
2 / 2 / 0
Регистрация: 18.03.2014
Сообщений: 148
25.11.2015, 21:43  [ТС]
Разве при вызове статичного метода нужно создавать экземпляр класса?!

Добавлено через 2 минуты
Господи)я затупок))) твержу о том стат методе а про экземпляр класса в котором вызываю забыл)))))

Добавлено через 1 минуту
Цитата Сообщение от GoDr Посмотреть сообщение
PS
на всякий случай.. IDE:.....
Что такое IDE я в курсе, и я говорю не о подсветке ошибки в блокноте допустим, а о ошибки которую ждал от PHP
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
25.11.2015, 21:49
Цитата Сообщение от Cheponya Посмотреть сообщение
Разве при вызове статичного метода нужно создавать экземпляр класса?!
getArticle это не статический метод.
0
 Аватар для Cheponya
2 / 2 / 0
Регистрация: 18.03.2014
Сообщений: 148
25.11.2015, 21:53  [ТС]
Цитата Сообщение от pav1uxa Посмотреть сообщение
это не статический метод
Откуда известно?)
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
25.11.2015, 21:56
Цитата Сообщение от Cheponya Посмотреть сообщение
Откуда известно?)
При объявлении статического метода перед ним ставится ключевое слово static.
0
 Аватар для Cheponya
2 / 2 / 0
Регистрация: 18.03.2014
Сообщений: 148
25.11.2015, 22:00  [ТС]
Цитата Сообщение от pav1uxa Посмотреть сообщение
При объявлении статического метода перед ним ставится ключевое слово static.
я не досмотрел))) про то, что getArticle статический - никто и не говорил)
в теле метода getArticle идет вызов статического метода getNews
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
25.11.2015, 22:05
Цитата Сообщение от Cheponya Посмотреть сообщение
про то, что getArticle статический - никто и не говорил)
Вы говорили
Цитата Сообщение от Cheponya Посмотреть сообщение
Разве при вызове статичного метода нужно создавать экземпляр класса?!
Цитата Сообщение от Cheponya Посмотреть сообщение
в теле метода getArticle идет вызов статического метода getNews
ну да идет. Вот только сам метод getArticle не вызывается нигде. Соответственно и все что внутри него - не вызывается.


Я так и не понял - Вы поняли почему так? Если нет - то еще перечитайте это сообщение. Только повнимательнее.
0
 Аватар для GoDr
90 / 79 / 33
Регистрация: 17.08.2015
Сообщений: 512
Записей в блоге: 1
25.11.2015, 22:07
Цитата Сообщение от Cheponya Посмотреть сообщение
Что такое IDE я в курсе, и я говорю не о подсветке ошибки в блокноте
Очень сомневаюсь что вы в курсе(!!!) Это полноценная среда разработки!!!! Показ ошибки, и уж тем более подсветка кода - это очень и очень малое из возможного
0
 Аватар для Cheponya
2 / 2 / 0
Регистрация: 18.03.2014
Сообщений: 148
25.11.2015, 22:14  [ТС]
Цитата Сообщение от GoDr Посмотреть сообщение
Очень сомневаюсь что вы в курсе(!!!)
ну конкретно это мне мало интересно....
Цитата Сообщение от GoDr Посмотреть сообщение
Показ ошибки, и уж тем более подсветка кода - это очень и очень малое из возможного
я и не говорил вроде что все что она может это подсветить) вы на продовца пылесоса сейчас похожи....
я сказа
Цитата Сообщение от Cheponya Посмотреть сообщение
и я говорю не о подсветке ошибки
и
Цитата Сообщение от Cheponya Посмотреть сообщение
о ошибки которую ждал от PHP
0
 Аватар для GoDr
90 / 79 / 33
Регистрация: 17.08.2015
Сообщений: 512
Записей в блоге: 1
25.11.2015, 22:19
Цитата Сообщение от Cheponya Посмотреть сообщение
о ошибки которую ждал от PHP
Ах ну да.. извините.... Вот только PHP об этой ошибке не знал.. Ну надо же какая беда... А вот IDE о ней бы знал.. По этому писать код в Блокноте было модно лет 10 назад!

А с таким подходом, я вам даже нарисованный пылесос продам Вам сразу правильно ответили, а вы упрямо что-то доказываете
0
 Аватар для Cheponya
2 / 2 / 0
Регистрация: 18.03.2014
Сообщений: 148
25.11.2015, 22:26  [ТС]
С таким подходом вам пылесосы только и рисовать... Я ничего упорно не доказывали! Я пытался разобраться и понять где моя ошибка. Мне честно бесконечно импонирует то что вы супер модный и пользуете IDE... Ну а если серьезно то все равно... Предлагаю закрыть дискуссию никак к теме не подходящей!
0
 Аватар для GoDr
90 / 79 / 33
Регистрация: 17.08.2015
Сообщений: 512
Записей в блоге: 1
25.11.2015, 22:35
Цитата Сообщение от Cheponya Посмотреть сообщение
Я ничего упорно не доказывали! Я пытался разобраться и понять где моя ошибка. Мне честно бесконечно импонирует то что вы супер модный и пользуете IDE...
100% ответ на свой вопрос!

Добавлено через 4 минуты
Вам уже ничего не поможет разобраться ... Вам уже несколько раз ответили... И даже без "понтов" про IDE..

Ну как можно найти ошибку, если на неё не смотреть? Пока нет вызова PHP даже не будет смотреть в ту сторону.... Ты представь если PHP перед запуском строки должен будет проверить вообще весь код? Да он как минимум должен знать что в этот код входит! Интерпретатор проверит только синтаксис, да и только для того, что бы понять что есть функция/переменная/константа/ и т.п.

Добавлено через 1 минуту
Цитата Сообщение от Cheponya Посмотреть сообщение
С таким подходом вам пылесосы только и рисовать...
и рисую и продаю... а значит умею
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.11.2015, 22:35
Помогаю со студенческими работами здесь

Почему парсер выдает ошибку ?
Вот хочу извлечь телепрограму с помощью такого парсера: &lt;? $content =...

почему редирект выдает ошибку
Вот так я делаю редирект $url = &quot;http://&quot;.$_SERVER.&quot;/moderation.php&quot;; header('Location: ' . $url); exit;а вот что я получил...

Что не так с кодом? Почему выдает ошибку?
Есть php код, но он не работает. Выдает ошибку (Fatal error: Call to undefined function password_hash() in...

Почему сервер выдаёт ошибку "Необъявленная переменная", если она объявлена
Здравствуйте, я в веб-программировании в целом новичок. Пишу себе сайт. Сервер выдаёт ошибку &quot;Необъявленная переменная&quot;. Как...

Структура: Не могу понять, почему выдает ошибку и как собственно эту ошибку можно исправить?
Привет,не могу понять почему ошибку выдает и как сбстно эту ошибку можно исправить? #include &lt;stdio.h&gt; #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru