За последние 24 часа нас посетили 35554 программиста и 1695 роботов. Сейчас ищут 945 программистов ...

Использование путей подключения (теория)

Тема в разделе "PHP для новичков", создана пользователем Зингер, 24 июл 2017.

  1. Зингер

    Зингер Активный пользователь

    С нами с:
    20 июл 2017
    Сообщения:
    127
    Симпатии:
    7
    Продолжаю изучать PHP. Столкнулся вот с чем. Допустим, есть файл конфигурации в каталоге lib
    PHP:
    1. <? ##Главный конфигурационный файл сайта. Назовем его lib/config.php
    2. // Подключается ко всем сценариям (автоматически или вручную)
    3. if (!defined("PATH_SEPARATOR"))
    4.     define("PATH_SEPARATOR",getenv("COMSPEC")?";":":");
    5. ini_set("include_path",ini_get("include_path").PATH_SEPARATOR.dirname(__FILE__));
    6. ?>
    Как я понял, для того чтобы прописать путь, достаточно подключить этот файл один раз в главном сценарии index.php. Что я и сделал:
    PHP:
    1. <html><body>
    2. <?
    3. setlocale(LC_ALL,"");
    4. include_once "style_1.css";
    5. require_once getenv("DOCUMENT_ROOT")."/lib/config.php";
    6. echo ini_get("include_path");?>
    7. <div id="div1">
    8.    <a href="primer24.php">Пример 24</a>
    9. </div>
    10. </body></html>
    Здесь echo ini_get("include_path"); Показывает как надо: .... D:\OpenServer\domains\Proba2\lib
    Перехожу по ссылке и вызов этой же функции, уже не показывает мне прописанный каталог.
    Получается, что в каждом новом сценарии необходимо прописывать
    require_once getenv("DOCUMENT_ROOT")."/lib/config.php"; ?
     
  2. villiwalla

    villiwalla Активный пользователь

    С нами с:
    14 дек 2016
    Сообщения:
    471
    Симпатии:
    70
    если не не имеешь одну точку входа, то да
     
  3. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.817
    Симпатии:
    1.333
    Адрес:
    Лень
    для начала скачай ( если нету что-то подобное ) openserver / поставь в настройках апач 2.4 + пхп 7.1
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    это из какого года книжка?
     
  6. Зингер

    Зингер Активный пользователь

    С нами с:
    20 июл 2017
    Сообщения:
    127
    Симпатии:
    7
    Так и сделал. Только у меня Apache+php7. При таких настройках, которые указали Вы, OpenServer не запускается. В логах
    Код (Text):
    1. Модуль Apache-2.4 может работать только с PHP 5.5 или PHP 5.6
    Книга PHP5 в подлиннике (Котеров и Костарев) 2006г. Думаю для начала пойдет.
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    та ну хер знает, выглядит так, будто из другой реальности уже всё это.
     
  8. Зингер

    Зингер Активный пользователь

    С нами с:
    20 июл 2017
    Сообщения:
    127
    Симпатии:
    7
    Пока выбирать не приходится. В пхп пришел (вернее сказать, надеюсь что приду ) из десктопного клиент-серверного программирования VFP (1C)+SQL. Web-языки, для меня это что то, было из рода фантастики, пробовал самостоятельно С#. Взяли на работу как человека знающего SQL, попутно дали книгу и сказали: "грызи гранит науки". Ну, а мне в радость. Пришлось закинуть C# и пробовать себя в php. Особо не дергают, с утра до вечера осваиваю.
     
  9. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    @Зингер определять пути автоматически - это заманчивая идея, однако общепринято, что веб-приложение имеет конфигурационный файл, в котором некоторые пути прописаны абсолютно. От такого абсолютного пути ты уже можешь построить include_path.
     
    Зингер нравится это.