NothingMatters: Зачем делать дублирование, когда я показал как правильно это сделать?
Сделайте как я показал, и не будет проблем.
Глобальные переменные, которые устанавливаются в различных файлах - вызывают проблемы при расширении\поддержке кода. Наступает момент когда непонятно почему переменная $var равняется 'one', а не 'two', так как где-то, в одном из подключенных файлов, ее что-то перезаписало.
Ясно, спасибо за предельно точный ответ!
Извините, что утомил вас. Просто хотел понять для себя смысл тех проблем, о которых вы говорили.
Ещё раз благодарен! Поступлю, как вы указали. Действительно, ваш вариант кода более красивый и элегантный. У меня, увы, ещё мало знаний ((((
Скажите, пожалуйста, а если я в своём варианте буду вместо разных переменных использовать одну, проблем не будет? Вот правда, не могу понять вашу фразу насчёт проблем с сайтом в дальнейшем.
Коллега, я всё понимаю, вы человек очень опытный, квалифицированный. Но почему в ваших сообщениях так много красивых и ярких эпитетов? Например:
лучше пускай меня хоть педерастом называют, чем я этим всем пользоваться буду
У вас конкретно говнорешение говнозадачи.
И да... первый признак говнокода - copy+paste
Да, вы действительно дали ёмкий, полный ответ на вопросы из зала! В полном соответствии с вашим многолетним опытом и квалификацией. Спасибо вам великодушно!
NothingMatters: Будут, и большие. Что такое $a1, $a2? Почему переменные разные? А если еще пункт в меню добавится? Еще городить $aXXX, и кучу else? Глобальные переменные, да еще и во внешнем файле - зло.
Во внешнем файле идёт просто их проверка (переменных $a1, $a2... ), задаются они в обычных файлах (index.php, about.php, ect.)
Немного не понял последнюю фразу, почему зло? Глобальные переменные задаются именно во внутренних файлах сайта, не во внешнем. Проверяются они только во внешнем. Или я ошибаюсь?... Действительно, внешний файл содержит все глобальные переменные вместе, а инициализирую я их во внутренних документах...
Однако их там всего-то штук пять-шесть, ну пусть до десяти штук наберётся, на что они могут так фатально повлиять, что будут большие проблемы? Вот тут я не понял вашу мысль немного...
Такой вопрос, если у меня сайт-визитка на 30 страничек, странички сами на РНР, шаблон свой я разбил на отдельные части и подключаю их с помощью РНР-инклудов, это не сильно влияет на скорость работы сайта, как считаете?
Вы просто писали, что юзать каждый раз при визите на сайт РНР - это не есть хорошо! Что вы скажете по поводу моей ситуации? Базы данных на сайте у меня нет. Чисто для удобства использую PHP-Includes... Вот таким именно образом:
<?php include './includes/header.inc.php';?>
....
<?php include './includes/navigation.inc.php';?>
....
<?php include './includes/footer.inc.php';?>
Правда, файл "navigation.inc.php", там где у меня навигация по сайту, для подсветки активного пункта меню на сайте и с целью того, чтобы навигация оставалась в одном документе, я сделал вот такое простое решение:
Документ "navigation.inc.php" выглядит таким образом:
Sitealert: Подозреваю, что имелось в виду отсутствие необходимости подключения сервера базы данных. А шаблон разбивается на части в большинстве CMS - как с БД, так и без БД.
Спасибо за ответ. Просто человек упомянул об инклудах, мне вот и стало интересно, это именно РНР-Инклуды, или же какая-либо иная технология. А вот то, что шаблон веб-сайта нужно разбивать на отдельные части, это однозначно правильно, поскольку с колоссальным ростом страниц сайта управлять им будет нереально сложно (если вообще возможно). А так, к примеру, поменял дизайн футера - в отдельном файле, он тут-же изменился на всём сайте, сколько бы страниц на нём не было. Очень удобно, а на больших сайтах - просто жизненно важно.
Charli: "инклуд хедер, инклуд футер" - самая лучшая cms без БД
Имеется ввиду, что лучшая CMS без баз данных - это использование именно PHP Includes, то есть включений РНР для разбиения шаблона на разные составные части. Правильно ли я понял эту мысль? Или подразумевалось что-либо ещё?
Например,
<?php include './includes/header.inc.php';?> .... <?php include './includes/navigation.inc.php';?> .... <?php include './includes/footer.inc.php';?>
И отдельно обратите внимание на доступность для Яндекса одного и того же файла robots.txt (с одной и той же Host) по всем редиректящим зеркалам
Немного не понял этот момент. То есть, уточню этот нюанс: у меня на всех зеркалах должен быть один и тот же файл robots.txt с одной и той-же директивой host, я правильно понимаю?
Детально распишу, если вы не против, правильно ли я понял ваши слова.
Вот, у меня есть некий файл robots.txt в корне моего веб-сайта:
Кстати говоря, правильно ли у меня составлена директива Host в данном случае, я не напутал ничего, может ещё протокол перед названием сайта прописать, как считаете? Идём далее, именно это файл robots.txt, именно с этой конкретной директивой, должен быть доступен по следующим адресам:
То есть, по факту один и то-же ресурс (веб-сайт), но в аккаунте он заведен под два ресурса, один на http и второй на https, соответственно.
Как к этому относится Гугл, нормально индексирует указанный сайт, и если индексирует, то по какому принципу - только главное зеркало (в таком случае у вас стоят редиректы на хостинге на конкретное главное зеркало?), например, на https ?
Я понимаю, что на одном аккаунте может быть много ресурсов, но тут идёт речь именно о дублировании одного и того-же сайта на два ресурса, только с разными протоколами. Как на практике такое происходит и что можно от этого ожидать в плане качества индексации Гуглом? Какой из сайтов Гугл будет индексировать, как он определяет где главное зеркало, а где не главное? По редиректам в файле .htaccess на сервере, или как-то ещё?...
---------- Добавлено 13.01.2018 в 00:17 ----------
Просто у меня сайт один, но под него заведено два ресурса на моём аккаунте, как вы понимаете один на http и второй на https. Да, я перенастроил редиректы в своём файле .htaccess на сервере, теперь что-бы не набрал пользователь в поисковой строке, он всегда попадёт именно на такой вариант сайта: http://www.mysite.com, то есть по обычному протоколу http.
Но в Google Search Console всё равно у меня светятся два ресурса, удалить второй я могу, но если его в любой момент добавить, то всё равно я вижу, что статистика по нему никуда не делась, то есть Гугл его по факту не удаляет полностью, а хранит в своём хранилище. И от того, что в Google Search Console я его "формально" удалю, от этого Гугл не удалить всю статистику о втором ресурсе (о том, который на https). Понимаете, в чём суть моего вопроса?
Именно потому я и спрашиваю, не было ли у вас такой ситуации, и если была, не отражалось ли это на индексации вашего сайта со стороны самого Гугла?
---------- Добавлено 13.01.2018 в 00:21 ----------
xVOVAx: Нажми на ссылку удалить ресурс и забудь. Пятница что ли ......
То есть, вы предлагаете просто удалить не нужный ресурс (тот, который сейчас у меня на протоколе https), и далее спокойно заниматься развитием своего основного ресурса на http? Правильно я понимаю вашу мысль? А о втором ресурсе просто забыть навсегда.
Но как Гугл воспринял мои манипуляции в 2017 году по переходу на https и затем обратно на http ?
Это было в течении недели-полторы.
Не попал ли я под фильтры Гугла в таком случае? Как считаете?.....
То есть, это нормально, когда в панели вебмастеров Гугл висит два ресурса (два сайта) на http и на https ? При чём тут паранойя, я просто хочу понимать, нормально ли это и сталкивался ли кто-то с чем-то подобным?
---------- Добавлено 12.01.2018 в 22:42 ----------
То есть, почему когда я удаляю второй (не нужный уже) сайт из Google Search Console, а затем спустя день его добавляю, то там остаются старые данные (в том числе светится одна проиндексированная страница). Иными словами, Гугл не удаляет полностью второй сайт, а лишь, как-бы, скрывает его. Но не удаляет.
Таким образом, у меня по факту в панели вебмастеров сейчас уже навечно засели два сайта, и изменить это уже нет возможности. Вот я и хочу понять, нормально ли это и не будет ли проблем в будущем с индексацией именно старого моего сайта, того который на протоколе http. Как-то напряжно, когда в Google Search Console висит два сайта, при чём, второй мне вообще ни к чему! Но и удалить его я никак не могу!
Зачем делать дублирование, когда я показал как правильно это сделать?
Сделайте как я показал, и не будет проблем.
Глобальные переменные, которые устанавливаются в различных файлах - вызывают проблемы при расширении\поддержке кода. Наступает момент когда непонятно почему переменная $var равняется 'one', а не 'two', так как где-то, в одном из подключенных файлов, ее что-то перезаписало.
Ясно, спасибо за предельно точный ответ!
Извините, что утомил вас. Просто хотел понять для себя смысл тех проблем, о которых вы говорили.
Ещё раз благодарен! Поступлю, как вы указали. Действительно, ваш вариант кода более красивый и элегантный. У меня, увы, ещё мало знаний ((((
Но если очень хочется набираться плохого опыта, то стоит хотя бы немного переделать. Меню выводи через foreach:
Скажите, пожалуйста, а если я в своём варианте буду вместо разных переменных использовать одну, проблем не будет? Вот правда, не могу понять вашу фразу насчёт проблем с сайтом в дальнейшем.
Вот, такой код:
В самом сайте, например, в страничке "index.php" или "about.php" я подключаю вышеизложенный файл "navigation.inc.php" таким вот образом:
_SP_
Коллега, я всё понимаю, вы человек очень опытный, квалифицированный. Но почему в ваших сообщениях так много красивых и ярких эпитетов? Например:
Да, вы действительно дали ёмкий, полный ответ на вопросы из зала! В полном соответствии с вашим многолетним опытом и квалификацией. Спасибо вам великодушно!
Будут, и большие.
Что такое $a1, $a2? Почему переменные разные?
А если еще пункт в меню добавится? Еще городить $aXXX, и кучу else?
Глобальные переменные, да еще и во внешнем файле - зло.
Во внешнем файле идёт просто их проверка (переменных $a1, $a2... ), задаются они в обычных файлах (index.php, about.php, ect.)
Немного не понял последнюю фразу, почему зло? Глобальные переменные задаются именно во внутренних файлах сайта, не во внешнем. Проверяются они только во внешнем. Или я ошибаюсь?... Действительно, внешний файл содержит все глобальные переменные вместе, а инициализирую я их во внутренних документах...
Однако их там всего-то штук пять-шесть, ну пусть до десяти штук наберётся, на что они могут так фатально повлиять, что будут большие проблемы? Вот тут я не понял вашу мысль немного...
_SP_
Такой вопрос, если у меня сайт-визитка на 30 страничек, странички сами на РНР, шаблон свой я разбил на отдельные части и подключаю их с помощью РНР-инклудов, это не сильно влияет на скорость работы сайта, как считаете?
Вы просто писали, что юзать каждый раз при визите на сайт РНР - это не есть хорошо! Что вы скажете по поводу моей ситуации? Базы данных на сайте у меня нет. Чисто для удобства использую PHP-Includes... Вот таким именно образом:
Правда, файл "navigation.inc.php", там где у меня навигация по сайту, для подсветки активного пункта меню на сайте и с целью того, чтобы навигация оставалась в одном документе, я сделал вот такое простое решение:
Документ "navigation.inc.php" выглядит таким образом:
В самом сайте, например, в страничке "index.php" или "about.php" я подключаю вышеизложенный файл "navigation.inc.php" таким вот образом:
Как считаете, я правильно в данном случае действую? Не будет ли у меня проблем в дальнейшем на сайте??
Подозреваю, что имелось в виду отсутствие необходимости подключения сервера базы данных. А шаблон разбивается на части в большинстве CMS - как с БД, так и без БД.
Спасибо за ответ. Просто человек упомянул об инклудах, мне вот и стало интересно, это именно РНР-Инклуды, или же какая-либо иная технология. А вот то, что шаблон веб-сайта нужно разбивать на отдельные части, это однозначно правильно, поскольку с колоссальным ростом страниц сайта управлять им будет нереально сложно (если вообще возможно). А так, к примеру, поменял дизайн футера - в отдельном файле, он тут-же изменился на всём сайте, сколько бы страниц на нём не было. Очень удобно, а на больших сайтах - просто жизненно важно.
"инклуд хедер, инклуд футер" - самая лучшая cms без БД
Имеется ввиду, что лучшая CMS без баз данных - это использование именно PHP Includes, то есть включений РНР для разбиения шаблона на разные составные части. Правильно ли я понял эту мысль? Или подразумевалось что-либо ещё?
Например,
богоносец
Немного не понял этот момент. То есть, уточню этот нюанс: у меня на всех зеркалах должен быть один и тот же файл robots.txt с одной и той-же директивой host, я правильно понимаю?
Детально распишу, если вы не против, правильно ли я понял ваши слова.
Вот, у меня есть некий файл robots.txt в корне моего веб-сайта:
Кстати говоря, правильно ли у меня составлена директива Host в данном случае, я не напутал ничего, может ещё протокол перед названием сайта прописать, как считаете? Идём далее, именно это файл robots.txt, именно с этой конкретной директивой, должен быть доступен по следующим адресам:
http://my-site.com/robots.txt (301 редирект на главное зеркало)
https://my-site.com/robots.txt (301 редирект на главное зеркало)
http://www.my-site.com/robots.txt (моё главное зеркало!)
https://www.my-site.com/robots.txt (301 редирект на главное зеркало)
Я правильно понимаю суть ваших слов?
у меня на одном аккаунте около десятка ресурсов висит:)
А среди этих ресурсов есть такие случаи, когда один и то-же сайт висит в аккаунте Google Search Console вот в таком виде:
http://www.mysite.com
https://www.mysite.com
То есть, по факту один и то-же ресурс (веб-сайт), но в аккаунте он заведен под два ресурса, один на http и второй на https, соответственно.
Как к этому относится Гугл, нормально индексирует указанный сайт, и если индексирует, то по какому принципу - только главное зеркало (в таком случае у вас стоят редиректы на хостинге на конкретное главное зеркало?), например, на https ?
Я понимаю, что на одном аккаунте может быть много ресурсов, но тут идёт речь именно о дублировании одного и того-же сайта на два ресурса, только с разными протоколами. Как на практике такое происходит и что можно от этого ожидать в плане качества индексации Гуглом? Какой из сайтов Гугл будет индексировать, как он определяет где главное зеркало, а где не главное? По редиректам в файле .htaccess на сервере, или как-то ещё?...
---------- Добавлено 13.01.2018 в 00:17 ----------
Просто у меня сайт один, но под него заведено два ресурса на моём аккаунте, как вы понимаете один на http и второй на https. Да, я перенастроил редиректы в своём файле .htaccess на сервере, теперь что-бы не набрал пользователь в поисковой строке, он всегда попадёт именно на такой вариант сайта: http://www.mysite.com, то есть по обычному протоколу http.
Но в Google Search Console всё равно у меня светятся два ресурса, удалить второй я могу, но если его в любой момент добавить, то всё равно я вижу, что статистика по нему никуда не делась, то есть Гугл его по факту не удаляет полностью, а хранит в своём хранилище. И от того, что в Google Search Console я его "формально" удалю, от этого Гугл не удалить всю статистику о втором ресурсе (о том, который на https). Понимаете, в чём суть моего вопроса?
Именно потому я и спрашиваю, не было ли у вас такой ситуации, и если была, не отражалось ли это на индексации вашего сайта со стороны самого Гугла?
---------- Добавлено 13.01.2018 в 00:21 ----------
Нажми на ссылку удалить ресурс и забудь. Пятница что ли ......
То есть, вы предлагаете просто удалить не нужный ресурс (тот, который сейчас у меня на протоколе https), и далее спокойно заниматься развитием своего основного ресурса на http? Правильно я понимаю вашу мысль? А о втором ресурсе просто забыть навсегда.
Но как Гугл воспринял мои манипуляции в 2017 году по переходу на https и затем обратно на http ?
Это было в течении недели-полторы.
Не попал ли я под фильтры Гугла в таком случае? Как считаете?.....
xVOVAx
То есть, это нормально, когда в панели вебмастеров Гугл висит два ресурса (два сайта) на http и на https ? При чём тут паранойя, я просто хочу понимать, нормально ли это и сталкивался ли кто-то с чем-то подобным?
---------- Добавлено 12.01.2018 в 22:42 ----------
То есть, почему когда я удаляю второй (не нужный уже) сайт из Google Search Console, а затем спустя день его добавляю, то там остаются старые данные (в том числе светится одна проиндексированная страница). Иными словами, Гугл не удаляет полностью второй сайт, а лишь, как-бы, скрывает его. Но не удаляет.
Таким образом, у меня по факту в панели вебмастеров сейчас уже навечно засели два сайта, и изменить это уже нет возможности. Вот я и хочу понять, нормально ли это и не будет ли проблем в будущем с индексацией именно старого моего сайта, того который на протоколе http. Как-то напряжно, когда в Google Search Console висит два сайта, при чём, второй мне вообще ни к чему! Но и удалить его я никак не могу!