За последние 24 часа нас посетили 59226 программистов и 1831 робот. Сейчас ищут 878 программистов ...

PHP для новичка

Тема в разделе "Прочие вопросы по PHP", создана пользователем Митя, 4 фев 2006.

  1. Nimous

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

    С нами с:
    5 фев 2006
    Сообщения:
    64
    Симпатии:
    0
    Адрес:
    Москва
    ИМХО, "ядро" системы и её структура вообще не должны зависеть от того,
    как разруливаются вызовы скрипта. За это должен отвечать какой-то
    отдельный модуль. А это сложно реализовать на подобающем уровне без дополнительных данных о вызовах и их обработке.
    Например, того же списка файлов для подключения.

    И тот факт, что что-то находится в файловой системе не должен быть предпосылкой для того, чтобы это можно было подключить
     
  2. ONK

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

    С нами с:
    4 фев 2006
    Сообщения:
    281
    Симпатии:
    0
    Адрес:
    СПб
    Nimous, не ядро зависит от модулей, а модули зависят от ядра. Степень зависимости модулей может быть различной, чем функциональнее ядро, тем сильнее от него зависят модули и тем проще их прикладной код.

    Что такое "вызовы скрипта"?
     
  3. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Структура и само "ядро" должно зависить от того какую функцию выполняет.
    Мой пример именно выполняет функцию подключения файлов в зависимости от того как "разруливаются" его вызовы.
    Я сделал это так потому что это просто, надёжно и безопасно, и не вижу почему нужно усложнять этот подход.

    И не является, в данном случае предпосылка это URL а уже в зависимости от того правильный он или нет будет происходить подключение (или не будет)
     
  4. Nimous

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

    С нами с:
    5 фев 2006
    Сообщения:
    64
    Симпатии:
    0
    Адрес:
    Москва
    ONK
    В общем согласен. Но не получится ли в этом случае, что ядро полностью зависит от такого внешнего по отношению к нему фактора, как структура URL?
    Не знаю, почему, но чем-то задним чувствую, что ядро не должно иметь к этому отношения.

    Разруливание вызовов - да. Инициализация(загрузка конфигурации, например)
    модулей. Вот функции ядра, в моём понимании.

    Но сама структура вызова - это скорее имеет отношение к входящим данным, которые могут иметь совершенно различное и содержание, а, следовательно не должны напрямую обрабатываться ядром.

    Как верно заметил Vladson
    Но если выполняемые ядром функции ставят его в зависимость от того, от чего ему не следовало бы зависеть, может это просто недостаток проектирования?

    ЧПУ vs /index.php?module=... - это пример прямой зависимости от входящих данных. Стоит выбрать, что же именно должно от них зависеть.
     
  5. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    А где вы увидели "напрямую" и "ядро" ?

    В данном случае куча условий с регуляркой (первая часть кода) это не само ядро а отдельный блок, а ядро (вторая часть кода) уже использует обработанные параметры

    Знаете, давольно интересно наблюдать, как умные вроде люди так живо обсуждают (так и не увидившее свет) ядро хомячка на 10 хостов в сутки, исходя из кусочка кода который я написал более года назад когда ещё был "начинающим"...

    Вам не кажется что для сайта на 10 хостов в сутки смешно даже упомянать слово "проектирование" ?
    (тут за час настрочить и без всякого проектирования)
     
  6. ONK

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

    С нами с:
    4 фев 2006
    Сообщения:
    281
    Симпатии:
    0
    Адрес:
    СПб
    Опять небольшое заблуждение, не ядро зависит от структуры URL, а URL (точнее данные, передающиеся GET и POST методами) зависит от принципов работы ядра. Задача ядра как раз и заключается в изменении поведения системы в соответствии с полученным внешними данными. Подключении необходимых модулей, предоставления им некого интерфейса обмена данными и общей, часто используемой функциональности.
     
  7. Nimous

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

    С нами с:
    5 фев 2006
    Сообщения:
    64
    Симпатии:
    0
    Адрес:
    Москва
    Vladson
    В конкретном случае - да.
    Но ведь я рассуждаю о проблеме более общей, чем способ подключения инклюдов на сайте в 10 хостов. Может это просто не та тема, в которой следовало бы об этом рассуждать.

    Что касается
    примерно это же я и имел ввиду в своём первом посте, когда говорил о том,
    что нужен модуль, занимающийся приведением данных вызова во внутренний формат, т.е, чтобы этим занималось не ядро.
    Так что я вообще не понимаю, о чём мы с вами спорим.

    З.Ы.
    На самом деле, в первом посте я говорил не совсем это, но это уже моё упущение. Наверное, я просто недостаточно хорошо сформулировал свою идею.
     
  8. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    У меня уже давно ощущение что мы спорим доказывая одно и тоже но разными словами, однако цель вполне одна "код должен не глючить"
     
  9. Nimous

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

    С нами с:
    5 фев 2006
    Сообщения:
    64
    Симпатии:
    0
    Адрес:
    Москва
    Совершенно согласен.
    У каждого, по большому счёту, своё понимание, что такое ядро, и что такое модуль, и как это всё должно взаимодействовать.
    И, на самом деле, нельзя точно сказать, что какой-то из них верный, а какой-то - нет.
    Главное - "Код не должен глючить".
    Давайте на том и порешим.
     
  10. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Было 2 утверждения:
    - Ядро должно разруливать вызов.
    - Вызов должен разруливать отдельный модуль.

    Было 2 вида модуля:
    - Через отдельный список файлов
    - Через список в файловой системы

    В итоге все доказывали одно и тоже:
    - Модуль разруливающий вызов это часть ядра, но с независимой от ядра логикой.

    ИМХО так вышло
     
  11. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    теперь по пивку и все будет пучком ...
     
  12. yazimma

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

    С нами с:
    16 сен 2011
    Сообщения:
    1
    Симпатии:
    0
    доброго времени! Думаю что попал на ту страницу где могу задать следущие вопросы:
    1. имею код
    Код (Text):
    1. html>
    2. <head>
    3. <title>
    4. name form
    5. </title>
    6.  
    7. proba1
    8. </head>
    9.     <body>
    10.     <H3>perwi</H3>
    11.     <i><form action="Post.php" method="POST" >
    12. <input type="button" name="s1" value="ok" />
    13. введите ваше имя
    14. <hr />
    15. <input type="text" name="форма" value="введи текст" /><br />
    16. <br />
    17. <input type="submit" name="s5" value="ok" />   
    18.     </form>
    19.     </i>
    20.     </body>
    21. </html>
    приведенный код сохранил в файле .html
    Так как он обращается к др. файлу php создал файл Post.php

    Код (Text):
    1. <html>
    2. <head>
    3. <title>
    4. rastrub
    5. </title>
    6.  
    7. proba1
    8. </head>
    9.  
    10.     <body>
    11.    
    12.     <H3>11133111</H3>
    13. <form>
    14.     you name
    15.     <?php
    16.     echo"77888999";
    17.     ?>
    18.            
    19.     </form>
    20.    
    21.     </body>
    22. </html>
    далее запускаю файл в опере с расширением html. видим кнопку и поле. нажимаем на кнопку видим только то что вписано
    Код (Text):
    1. <H3>11133111</H3>
    2.  
    3.     you name
    а идея была вывести 77888999!!
    почему я не получается ни на мобильном Windows Mobile 6/5 ни на компьютере?? оба файла в одной папке.

    пробовал и теги разные <? ,<?php ,<script langu..... не получается. Даже простое слово HELLO
     
  13. topas

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

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    1. Сделайте "Просмотр исходного кода"
    2. На сервере должен быть установлен php
    3. Сервер (в вашем случае) должен отдавать html файлы на обработку php интерпретатору. Возможно простое переименование файла html в php позволит решить проблему