[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Курсы PHP. Урок №1 от IRBIS-team
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23
twin
Если ты тут впервые, прочитай это!!!


С чего обычно начинается построение сайта? Вы думаете, что нужно сделать первый файл, допустим index.php и пошло-поехало.
Ан нет.

Для того, чтобы было быстрее и аккуратнее, дложна быть готовая рама, на которую мы и понавешаем нужный функционал, чтоб не повторяться.

Назвать это можно ядром, фреймворком, шаблоном, паттерном, горшком, чертом лысым или как душе угодно. Суть одна - все, что обычно повторяется в разных сайтах (структура и общие функции) должно быть готово. Как замороженные пельмени. Останется сварить и добавить специи.

Вот и мы сделаем такую кухню. Приступим, помолясь.
Мы уже изучили структуру сайта, сейчас будет намного проще понять, что где и зачем. Но начнем мы не со структуры.

Начнем с того, что обычно оставляется на "потом", так как это кажется не очень важным. И зачастую это "потом" так и не наступает.

А именно с конфигурации и сопутствующих фишек.


_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
twin
Да, кстати. Кто участвует, сразу организуйте себе на локалке хост и туда это все. Когда структуру создадим, буду задания раздавать.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
krasilich
Давно меня мучил вопрос. но никак не решался спросить.

Почему стоит использовать именно utf8, в чем профит по сравнению с cp1251?
TMake
Ведь уже объясняли и не раз
UTF-8 является универсальной кодировкой и если вдруг тебе придет заказ не с РФ то это кодировка тебя выручит да и переучиваться не придется ведь заточка будет уже.
twin
Этого мало. дело в том, что с utf работает все подряд. А вот допустим ajax не работает с windows-1251, XML и еще много чего не работает. Какой смысл перекодировать туда-сюда, когда можно сразу делать все в универсальной кодировке.

К тому же мы будем делать мультиязычные сайты. Универсальные.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
IRON
Цитата (twin @ 20.11.2009 - 08:16)
К редактору одно требование - не используем табуляцию, только пробелы.

А почему так? Лично я использую Notepad++, я так понимаю, нельзя будет использовать кнопку таб, а все отделять пробелами? Ведь не так просто и не так приятно ставить эти пробелы, да и количество угадывать придется...
twin
IRON
Потому что вот код с табуляцией
<?php

$language = array(
'title' => 'Мой сайт',
'description' => 'Сайт лучшего програмера',
'link_1' => 'Главная',
'link_2' => 'О себе',
'link_3' => 'Связь'
);

А вот тоже самое с пробелами.
<?php

$language = array(
'title' => 'Мой сайт',
'description' => 'Сайт лучшего програмера',
'link_1' => 'Главная',
'link_2' => 'О себе',
'link_3' => 'Связь'
);

В разных редакторах табы читаются по разному. А нам бардак не нужен.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
ElfSam
и как файл .htaccess сохранять? как обычный тхт файл?
Michael
Намучался конечно с этим апачем, но вроде работает (надеюсь).
Вот это не совсем понял:
имею папку сайта:
.../twin1/
в ней файлы:
.../twin1/.htaccess
.../twin1/index.php
Также например имею
.../twin1/111/file.php

Делаю запрос http ://localhost/.../twin1/111/222.php -> получаю в index.php $_GET['route']

Делаю запрос http ://localhost/.../twin1/111/file.php -> идет выполнение этого файла... Так правильно? А как же тогда одна точка входа? И где будут все остальные файлы php?

P.S. Конечно догонять особого веселья нет, но поскольку конкурсантов не подождали sad.gif задаю вопросы сейчас. Даже честно почти дочитал 8 закладок этого урока, но там нет ответа.


_____________
There never was a struggle in the soul of a good man that was not hard
twin
Michael
Цитата
Делаю запрос http ://localhost/.../twin1/111/file.php -> идет выполнение этого файла... Так правильно? А как же тогда одна точка входа? И где будут все остальные файлы php?

Всё правильно. Реврайт работает наоборот - сначала ищет, нет ли такого файла. Если есть - отдает его. А если ничего не находит - отправляет на индекс. По этому без реврайта ссылка
http ://localhost/.../twin1/111/

фактически будeт вести на
http ://localhost/.../twin1/111/index.php
и вызовет 404, если в каталоге 111 нет индекса.
А при включенном эта же ссылка будет вести на
http ://localhost/.../twin1/index.php?route=111/

Это и означает одну точку входа. То, что вроде бы с виду мы обращаемся к разным директориям, а на самом деле к одному главному индексу.
Что впрочем не мешает обратиться напрямую к любому другому файлу, если он существует. Допустим к картинкам, стилям или другим php файлам, если используется аякс. Главное что бы он был.
Это и есть ЧПУ.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Michael
Да twin теперь понятно. Просто вот объяснение
Цитата
Так как мы будем разрабатывать подобие MVC, то наш сайт будет иметь одну точку входа. А именно файл index.php в корневой директории. Ко всем остальным файлам php и шаблонам (кроме тех, которые работают по технологии ajax) доступ будет запрещен.

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



_____________
There never was a struggle in the soul of a good man that was not hard
Shturman
twin, а "Deny from all" в .htaccess запрещает отдавать страницу клиенту или скриптам тоже доступ закрывает?

Это я к чему - просто если закрыват только клиентам доступ, то такие .htaccess'ы во все папки разложить - вот тебе и запрет доступа КО ВСЕМ файлам, кроме index.php в корне.

И вообще, где можно подробнее почитать о возможностях .htaccess?
twin
Shturman
Цитата
twin, а "Deny from all" в .htaccess запрещает отдавать страницу клиенту или скриптам тоже доступ закрывает?

Это я к чему - просто если закрыват только клиентам доступ, то такие .htaccess'ы во все папки разложить - вот тебе и запрет доступа КО ВСЕМ файлам, кроме index.php в корне.

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

Цитата
И вообще, где можно подробнее почитать о возможностях .htaccess?

Ну как где... В гугле конечно. У меня нет времени еще и ссылки искать. Ищите сами и делитесь ссылками. Я прокомментирую непонятные моменты.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
sixpoundeeer
Цитата
Т.е любое обращение к файлам будет заменено на index.php?route=то_что_попало_под_шаблон_для_параметров
А у нас шаблон для параметров - (.*). А это означает - любая комбинация символов, есть они или нет.


Что такое шаблон и шаблон для параметров?

_____________
Как много веселых ребят. И все делают велосипед. А один из них как-нибудь утром. Придумает порох. (Виктор Цой)
twin
Шаблон, это из области регулярных выражений. Простыми словами - набор правил, которым должны соответствовать какие то данные.
Вот допустим такое правило(шаблон):
[a-z] обозначает "любая буква от a до z"

В нашем случае шаблон выглядет так:
(.*) "любые символы, есть они или нет"

То есть по простому - "всё, что находится в URL после корневой директории"

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2017 Invision Power Services, Inc.