Заменил строки в этом файле, только не очень понял необходимость в этом, учитывая то, что код заработал (в файле start.php уже есть строка define('DIR_TMPL', 'C:/OSPanel/domains/test/www/tmpl/');).
Если я. предположим, захочу сделать сайт в другой директории, то в файле extra/httpd-vhosts.conf нужно будет добавлять ещё один путь или прежний удалять и писать новый за место него? (Добавление)
Добрый день!
Прислушиваясь к вашим советам, сначала переместил все файлы относящиеся к данному уроку из папки rusakov в папку www. В результате чего, вообще ничего не изменилось.
Я вспомнил, что есть скаченные исходники автора этого видеоурока. Их разместил в папке www. Теперь, в браузере, кроме ошибок ничего не выводится:
Warning: include(C:\OSPanel\domains\test\www\tmplmain.tpl): failed to open stream: No such file or directory in C:\OSPanel\domains\test\www\core\view_class.php on line 15
Warning: include(): Failed opening 'C:\OSPanel\domains\test\www\tmplmain.tpl' for inclusion (include_path='.;c:/ospanel/modules/php/PHP_7.2-x64;c:/ospanel/modules/php/PHP_7.2-x64/PEAR/pear;core;controllers') in C:\OSPanel\domains\test\www\core\view_class.php on line 15
Вы убедили меня в том, что эти видеоуроки не очень хорошие, хотя сам автор пишет, что у него есть курс, конкретно по паттерну MVC по времени на несколько десятков часов. И я хотел, через некоторое время поизучать его. А теперь не знаю, стоит ли?
Текущий вопрос всё-таки, хотелось бы закончить. Ещё раз подчеркну, что писал код точь-в-точь, как у автора. И у него он работает. Только с одним отличием - в жёстком диске размещал файлы не совсем так, как у него. Может я с путями, что-то напутал? Посмотрите, пожалуйста, в прикреплённом файле скриншот жёсткого диска. Может, быть там, что-то не так? Я сам не вижу ошибки (если она там есть).
<meta http-equiv="Content-Type" content="Описание главной страницы">
<meta name="description" content="Описание главной страницы">
<meta name="keywords" content="<b>Notice</b>: Undefined variable: meta_keyword in <b>C:\OSPanel\domains\test\www\rusakov\tmpl\main.tpl</b> on line <b>7</b>">
<footer>С уваженем, команда нашего сайта.</footer>
</body>
</html>
Возникла следующая проблема. Когда нажимаешь на ссылку "Внутренняя страница", то не подгружается содержимое файла page.tpl. Происходит переход по адресу http://test/page и в браузере выводится "Объект не найден!". Не понимаю, почему?
судя по стилю урок либо мегадревний либо от не особо качественного учителя
но для начала сойдет
По-правде говоря не слышал ни разу положительных отзывов, как о каких-либо видеоуроках, так и об учебниках! Хотя я согласен, что видеоуроки вырабатывают дурную привычку - сначала, что-то делать, потом думать! А не наоборот!
Урок 2017 года (не слишком, наверное, старый?) от Михаила Русакова. Он и сам пишет, что
это самый простой вариант паттерна MVC, чтобы был понятен принцип работы MVC. Не знаю, хороший Михаил Русаков учитель или плохой, но на просторах интернета его видеоуроки популярны. То тут, то там постоянно на них натыкаешься.
LIME пишет:
http://phpfaq[dot]ru/debug
- мне кажется эта статья всё-таки уже для более-менее профессионалов, чем новичков (или ошибаюсь?). Хотя, всё-равно, спасибо, буду изучать.
Попробовал, с помощью функции var_dump посмотреть код, как Вы предложили. Вот, что вывелось: string(13) "rusakov/index" string(14) "MainController" string(19) "actionrusakov/index" object(MainController)#1 (4) { ["title":protected]=> NULL ["meta_desc":protected]=> NULL ["meta_keywords":protected]=> NULL ["view":protected]=> object(View)#2 (1) { ["dir_tmpl":"View":private]=> string(41) "C:/OSPanel/domains/test/www/rusakov/tmpl/" } }
В коде задействован класс MainController, который находится в файле maincontroller_class.php:
При наведении на extends AbstractController появляется Undefined class AbstractController . Класс не найден. Интересный вопрос - почему класс не найден? Этот класс содержится в файле abstractcontroller_class.php:
<metahttp-equiv="Content-Type"content="Запрошенная страница не существует.">
<metaname="description"content="Запрошенная страница не существует.">
<metaname="keywords"content="<b>Notice</b>: Undefined variable: meta_keyword in <b>C:\OSPanel\domains\test\www\rusakov\tmpl\main.tpl</b> on line <b>7</b>">
</head>
<body>
<header>
<h1>Добро пожаловать!</h1>
</header>
<hr/>
<divid="content"><h1>Страница не найдена</h1>
<p>Запрошенной страницы не существует!</p>
<p><ahref="index">Главная страница</a></p></div>
<hr/>
<footer>С уваженем, команда нашего сайта.</footer>
</body>
</html>
Класс Route находится в файле route_class.php и выглядит следующим образом:
Вопрос - почему браузер не находит и не выводит на экран содержимое файла index.tpl? Ведь этот файл лежит в одной папке с main.tpl и 404.tpl.
То есть, по идее, когда открываешь index.php, вместо содержимого 404.tpl, должно выводиться содержимое index.tpl, но так почему-то не происходит.
Файл index.tpl:
Pavl, а что вы ожидали от кривой установки? - Устанавливайте композером, подключайте автозагрузчик, и пользуйтесь.
Установил композером, подключил автозагрузчик.
Результат - "PhpShtorm", по-прежнему ругается на эту строку.
Но, код стал работать. Поэтому, спасибо - Ваш совет помог.
Добрый день!
Изучаю парсинг сайтов.
Есть библиотека для парсинга сайтов - "phpQuery". Я её скачал, установил на компьютере.
Создаю файл с подключением "phpQuery".
Пишу такую строку в "PhpShtorm":
Добрый день!
В общем, изрядно изменил код и таблицы в БД, но, что удивительно, ключевая проблема всё также, не пропала.
Одна из идей кода заключается в том, чтобы при двух условиях происходила запись в базу данных. А именно нужно, чтобы в промежуточную таблицу ip_id_address заносилось кол-во уникальных посетителей (hosts + 1) и выводилось потом на экран, для каждой картинки по отдельности с условием, что это новый пользователь (ip_address).
Есть файл index.php, в котором находится галерея с картинками. С index.php идёт переход в файл page3.php, в котором происходит запись в БД, выборка из Бд и вывод на экран кол-ва уникальных посетителей.
Файл page3.php:
$user=mysqli_query($link,"SELECT COUNT(ip_address) FROM id_ip_address WHERE ip_address = '".$host."' ");
но ничего не получается.
То есть, если я, например, вручную меняю ip_address в таблице (то есть, их становится 2), то и выводится на экран уникальных посетителей должно 2, а этого не происходит. Выводится, по-прежнему Уникальных посетителей: 1. Как связать эти два условия?
Есть 3 таблицы в БД: