[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Мой первый PHP сайт :)
WhiteKnight
Вообщем сегодня начал читать книгу по PHP Котерова.
Дошел до первой темы по PHP , там про арифметику. Захотелось что то попробывать сделать на php. Вот моя первая попытка работы с PHP.
Возможно все делается не так. Я вот так представил как должен выглядеть сайт и написал вот такое.

структура
Код

mysite.net
-index.php
-themes
---default
------index.template.php
------languages
---------Themes.russian.php
------images
-pages
---page1.php




index.php
HTML
<html>
<body>

Тут должен быть сайт :)
<a href="themes/default/index.template.php">Просмотреть тему</a>

</body>
</html>



index.template.php
PHP
<?
//Моя первая попытка написать шаблоны 

// мое представление контента smile.gif 
// додумался пока только до такого.
  require_once('Z:/home/localhost/www/WebProgramming/koterovlessons/MyFirstTemplate/pages/page1.php'); 
  require_once
('languages/Themes.russian.php');   // загузить языковый файл  
 
?>

<?
  echo 
'
  <style>
  td {
        font-family: Tahoma;
        color: #000000;
        font-size: 15px;
     }
  a:link, a:visited, a:active {
                                font-family: Tahoma;
                                color: #000000;
                                font-size: 15px;
                                text-decoration:none;
                               }
  a:hover {
            color: #EEEEEE;
            font-size: 15px;
          }
   </style>
   '
;
?>


<?
  echo 
'<table width="800" align="center">
        <tr>
          <td bgcolor="#FFFFF1" style="border: 1px dotted #FFC1C1"><h1>'
,$Content[header],'</h1></td>          
        </tr>
        <tr>
          <td  style="border: 1px dotted #FFC1C1">
            <a href="">'
,$txt[Home],'</a>
            <a href="">'
,$txt[People],'</a>
            <a href="">'
,$txt[Blogs],'</a>
            <a href="">'
,$txt[About],'</a>
          </td>          
        </tr>
        <tr>
          <td>
            <table>
            <tr>  
            <td width="200"  style="border: 1px dotted #FFC1C1" valign="top">'
,$Content[RightBar],'</td>
            <td width="400"  style="border: 1px dotted #FFC1C1" valign="top">'
,$Content[MainContent],'</td>
            <td width="200"  style="border: 1px dotted #FFC1C1" valign="top">'
,$Content[LeftBar],'</td>
            </tr> 
            </table>
          </td>          
        </tr>
         <tr>
           <td bgcolor="#FFFFF1" style="border: 1px dotted #FFC1C1"><b>'
,$Content[Footer],'</b></td>          
         </tr>
        </table>  
  '
;



Themes.russian.php
PHP
<?
  $txt[Home] = 'Главная';
  $txt[People] = 'Люди';
  $txt[Blogs] = 'Блоги';
  $txt[About] = 'О проекте';


page1.php
PHP
<?
  $Content[header] = 'MYSITE.NET';   
  $Content
[RightBar] = '

Рекомендуем: <br>

Сотовая связь<br>
» Советы по ремонту «мобильника»<br>
» Мобильный кошелек<br>
» Вирусы - много шума из ничего?<br>
<br>



                          
                       '
;
  $Content[MainContent] = '
Thecus N4100 PRO - NAS для серьезных людей <br>
18.08.2009<br>
Сетевая система хранения данных компании Thecus отличается стильной 
внешностью, широкой функциональностью и производительностью. Это повод
 задуматься для всех тех, кто собирается обзавестись надежным и емким NAS-сервером<br>
<br>
 MSI X-Slim X610 – ультратонкий ноутбук на новой платформе AMD <br>
18.08.2009<br>
Две модели ноутбуков MSI, а именно - X-Slim X600 и X610, внешне идентичны 
как близнецы братья. Но основаны они на разных платформах - Intel и AMD, соответственно. Будет ли разница в производительности и времени 
автономной работы? Сейчас узнаем<br>
<br>
 Обзор дефрагментаторов жесткого диска <br>
17.08.2009<br>
Фрагментация файлов может серьезно затормозить работу компьютера, ноутбука или тем более нетбука. Разрешить данную проблему сравнительно 
несложно, благо сейчас есть множество утилит, среди которых всегда можно 
найти дефрагментатор, подходящий именно вам<br>


                           '
;
  $Content[LeftBar] = '

Файловый архив <br>
» NVIDIA ForceWare 190.38 WHQL <br>
» AMD/ATI Catalyst 9.7 <br>
» Windows Vista SP2 <br>
» OpenOffice.org 3.0.1 <br>
» RivaTuner 2.24 <br>
» SmartFPS.com v.1.10 <br>
» DirectX 9.0c March 2009 <br>
 '
;
                      
  $Content
[Footer] = 'Копирайт(С) MYSITE.NET 2009';



Скриншот:
user posted image


Правда незнаю как сделать переход между страницами.
И надо что бы, запускался шаблон темы в главном index.php

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

По мере чтения книги Котерова, хотел бы примеры проверять на примере сайта(строя сайт), а не просто как скрипты...



Спустя 5 часов, 50 минут, 50 секунд (18.08.2009 - 07:10) Семён написал(а):
У каждого свой подход в структуре сайта.

Спустя 3 часа, 43 минуты, 43 секунды (18.08.2009 - 10:54) Krevedko написал(а):
а зачем в index.template.php несколько раз открывать-закрывать пхп-теги, если там все типа пхп-код ? blink.gif

Спустя 6 минут, 36 секунд (18.08.2009 - 11:01) twin написал(а):
Цитата
а зачем в index.template.php несколько раз открывать-закрывать пхп-теги, если там все типа пхп-код ?

Только наоборот. Зачем там вообще php дескрипторы, если там сплошной HTML?

Спустя 9 минут, 23 секунды (18.08.2009 - 11:10) WhiteKnight написал(а):
Цитата
Только наоборот. Зачем там вообще php дескрипторы, если там сплошной HTML?


А почему не так. Шаблон я так понял можно переделывать как хочешь, а содержимое всегда одно и тоже подставлятеся. и загужается в нужные места
$txt[Home] $txt[People] $txt[Blogs] $txt[About]


Спустя 13 минут, 50 секунд (18.08.2009 - 11:24) Gabriel написал(а):
получаю импульсы от twin'a.
он говорит зачем лишний раз напрягать пхп процeсор.

Спустя 10 минут, 31 секунда (18.08.2009 - 11:34) Krevedko написал(а):
Цитата (WhiteKnight @ 18.08.2009 - 08:10)
Цитата
Только наоборот. Зачем там вообще php дескрипторы, если там сплошной HTML?


А почему не так. Шаблон я так понял можно переделывать как хочешь, а содержимое всегда одно и тоже подставлятеся. и загужается в нужные места
$txt[Home] $txt[People] $txt[Blogs] $txt[About]

echo '<table width="800" align="center">

где тут шаблон ?
почему не тоже самое без echo и в хтмл теге ?

Спустя 1 час, 35 минут, 9 секунд (18.08.2009 - 13:10) twin написал(а):
Вот тут где php?
PHP
<?
  echo '
  <style>
  td {
        font-family: Tahoma;
        color: #000000;
        font-size: 15px;
     }
  a:link, a:visited, a:active {
                                font-family: Tahoma;
                                color: #000000;
                                font-size: 15px;
                                text-decoration:none;
                               }
  a:hover {
            color: #EEEEEE;
            font-size: 15px;
          }
   </style>
   '
;

Вообще изначально разбор файлов идет в режиме html. А когда встречаются дескрипторы <?php, то включается в работу препроцессор. Какой тайный смысл в том, чтобы включить его сразу и заставить генерить чистый html код? То есть делать двойную работу. Если необходимо в разметку добавить динамические данные, то надо их и добавлять. А не наоборот:

PHP
?>        <td  style="border: 1px dotted #FFC1C1">
            <a href=""><?php echo $txt['Home']; ?></a>
            <a href=""><?php echo $txt['People']; ?></a>
            <a href=""><?php echo $txt['Blogs']; ?></a>
            <a href=""><?php echo $txt['About']; ?></a>
          </td> 

Спустя 26 минут, 10 секунд (18.08.2009 - 13:36) Krevedko написал(а):
прав

Спустя 39 минут, 45 секунд (18.08.2009 - 14:16) sergeiss написал(а):
Добавлю к тому, что сказал twin. Если "ваять" сайт в визуальном редакторе, например Dreamweaver, то показанный твином подход позволяет сразу же видеть живую картинку страницы, а не голимый код.

Спустя 2 часа, 49 минут (18.08.2009 - 17:05) Krevedko написал(а):
и sergeiss прав !

Спустя 12 минут, 10 секунд (18.08.2009 - 17:17) glock18 написал(а):
smile.gif

Цитата (sergeiss @ 18.08.2009 - 11:16)
Если "ваять" сайт в визуальном редакторе, например Dreamweaver, то показанный твином подход позволяет сразу же видеть живую картинку страницы, а не голимый код.

честно говоря сначала представилась сразу по аналогии с wysiwyg'ами программуля которая пишет код, а ты кнопочки только жмакаешь laugh.gif

Чесслово. Я бы все таки, назвал это "нормальная IDE" ))

Спустя 33 минуты, 57 секунд (18.08.2009 - 17:51) Gabriel написал(а):
sergeiss
хотя иногда (под иногда имею в виду очень часто) визуал в нем глючит. хотя ето не смертельно.

Спустя 1 минута, 49 секунд (18.08.2009 - 17:52) SunSet написал(а):
Gabriel
Точнее, иногда он не глючит)) smile.gif

Спустя 18 минут, 59 секунд (18.08.2009 - 18:11) Gabriel написал(а):
SunSet
после того как научился им пользоваться очень часто выручает и ты каким дв пользовался что он иногда не глючить?

Спустя 1 час, 6 минут, 12 секунд (18.08.2009 - 19:18) blase написал(а):
симпотишно получилось

Спустя 3 часа, 22 минуты, 26 секунд (18.08.2009 - 22:40) WhiteKnight написал(а):
Оторвался на пару минут от книжки и переделал шаблон.
Результат тот же, но теперь шаблон поправил.
Спасибо smile.gif

Код

mysite.net
-index.php
-themes
---default
------index.template.php
------languages
---------Themes.russian.php
------images
-pages
---page1.php


index.php
PHP
<?
  include "pages/page1.php";
  include "themes/default/languages/Themes.russian.php";
  include "themes/default/index.template.html";



index.template.html
PHP
<html>
<
head><title>MYSITE.NET</title></head>
  <style>
  td {
        font-family: Tahoma;
        color: #000000;
        font-size: 15px;
     }
  a:link, a:visited, a:active {
                                font-family: Tahoma;
                                color: #000000;
                                font-size: 15px;
                                text-decoration:none;
                               }
  a:hover {
            color: #EEEEEE;
            font-size: 15px;
          }
   </style>
<
body>
   <table width="800" align="center">
        <tr>
          <td bgcolor="#FFFFF1" style="border: 1px dotted #FFC1C1"><h1><?=$Content[header];?></h1></td>          
        </tr>
        <tr>
          <td  style="border: 1px dotted #FFC1C1">
            <a href=""><?=$txt[Home];?></a>
            <a href=""><?=$txt[People];?></a>
            <a href=""><?=$txt[Blogs];?></a>
            <a href=""><?=$txt[About];?></a>
          </td>          
        </tr>
        <tr>
          <td>
            <table>
            <tr>  
            <td width="200"  style="border: 1px dotted #FFC1C1" valign="top"><?=$Content[RightBar];?></td>
            <td width="400"  style="border: 1px dotted #FFC1C1" valign="top"><?=$Content[MainContent];?></td>
            <td width="200"  style="border: 1px dotted #FFC1C1" valign="top"><?=$Content[LeftBar];?></td>
            </tr> 
            </table>
          </td>          
        </tr>
         <tr>
           <td bgcolor="#FFFFF1" style="border: 1px dotted #FFC1C1"><b><?=$Content[Footer]?></b&g



Themes.russian.php
PHP
<?
  
$txt[Home] = 'Главная';
  
$txt[People] = 'Люди';
  
$txt[Blogs] = 'Блоги';
  
$txt[About] = 'О проекте';    


page1.php
PHP
<?
  $Content[header] = 'MYSITE.NET';   
  $Content
[RightBar] = '

Рекомендуем: <br>

Сотовая связь<br>
» Советы по ремонту «мобильника»<br>
» Мобильный кошелек<br>
» Вирусы - много шума из ничего?<br>
<br>



                          
                       '
;
  $Content[MainContent] = '
Thecus N4100 PRO - NAS для серьезных людей <br>
18.08.2009<br>
Сетевая система хранения данных компании Thecus отличается стильной внеш
ностью, широкой функциональностью и производительностью. Это повод задуматься для всех тех, кто собирается обзавестись надежным и емким NAS-
сервером<br>
<br>
 MSI X-Slim X610 – ультратонкий ноутбук на новой платформе AMD <br>
18.08.2009<br>
Две модели ноутбуков MSI, а именно - X-Slim X600 и X610, внешне идентичны как близнецы братья. Но основаны они на 
разных платформах -
 Intel и AMD, соответственно. Будет ли разница в производительности и времен
и автономной работы? Сейчас узнаем<br>
<br>
 Обзор дефрагментаторов жесткого диска <br>
17.08.2009<br>
Фрагментация файлов может серьезно затормозить работу компьютера, ноутбука или тем более нетбука. Разрешить данную проблему сравнительно несложн
о, благо сейчас есть множество утилит, среди которых всегда можно найти де
фрагментатор, подходящий именно вам<br>


                           '
;
  $Content[LeftBar] = '

Файловый архив <br>
» NVIDIA ForceWare 190.38 WHQL <br>
» AMD/ATI Catalyst 9.7 <br>
» Windows Vista SP2 <br>
» OpenOffice.org 3.0.1 <br>
» RivaTuner 2.24 <br>
» SmartFPS.com v.1.10 <br>
» DirectX 9.0c March 2009 <br>

  '
;
                  
  $Content
[Footer] = 'Копирайт(С) MYSITE.NET 2009';

Спустя 11 минут, 26 секунд (18.08.2009 - 22:52) twin написал(а):
Мой тебе совет, не ленись и избегай шор-тегов. Приложение должно быть кросспоатформенным и привычка хорошая это. Не надо так писать:
PHP
<?=$txt[Home];


Вот тут ставь апострофы, иначе нарвешься на неприятности. Да и тормозит это.
PHP
<?
  
$txt['Home'] = 'Главная';
  
$txt['People'] = 'Люди';
  
$txt['Blogs'] = 'Блоги';
  
$txt['About'] = 'О проекте';

Спустя 9 минут, 30 секунд (18.08.2009 - 23:01) WhiteKnight написал(а):
twin
С апострофами немного путаница у меня.
В таких код PHP может интерпретироваться " " а в таких нет ' '
И вот я взял и решил писать сиволы все в ' ' а php код писать за ними.
echo 'A = '.$a;
и
echo "A = $a";

Мне приятна для глаза первая запись. Почему она плохая ?

Или ты не про те апострофы говоришь ? smile.gif

Спустя 8 минут, 56 секунд (18.08.2009 - 23:10) twin написал(а):
Я про апострофы в определении элемента массива.
PHP
$txt['Home']

Цитата
Мне приятна для глаза первая запись. Почему она плохая ?

А это все правильно у тебя.

Спустя 1 минута (18.08.2009 - 23:11) SunSet написал(а):
Gabriel
Раньше по молодости был ДВ 2004, кажись, MX чтото не понравился. Щас юзаю ДВ CS3 от Adobe, уже получше конечно но и свои минусы есть. Например, пхп файл простого вида сразу же выполняет и при вставке в страницу простого инклуда уже видно что в том файле. Не всегда хорошо.
Да и с кирилицей были траблы - в англ версии установки изменялись, в русской - не хотели. Пришлось шаманить чтоб все заработало))

Спустя 28 минут, 25 секунд (18.08.2009 - 23:39) Krevedko написал(а):
кстати про дримвивер. нельзя сделать, чтобы инклюды сразу прикреплялись в виде кода ?
ну открыл я например главный файл, там одни инклюды. чтобы не открывать все файлы по очереди, чтобы в виде раскрывающихся списков оно было...
ну типа как тут

user posted image

Спустя 31 минута, 27 секунд (19.08.2009 - 00:11) SunSet написал(а):
Krevedko
На сколько знаю - нет. ДВ отображает инклуд (как браузер), но не его код. Пишешь "вставить такойто файл, в которром табличка" он сразу и показывает таблицу, а не якорь PHP как в старых версиях было.

Спустя 16 минут, 5 секунд (19.08.2009 - 00:27) PandoraBox2007 написал(а):
Цитата (Krevedko @ 18.08.2009 - 22:39)
кстати про дримвивер. нельзя сделать, чтобы инклюды сразу прикреплялись в виде кода ?

в phpDesigner можно

Спустя 13 часов, 37 минут, 27 секунд (19.08.2009 - 14:04) sergeiss написал(а):
Цитата (Krevedko @ 19.08.2009 - 00:39)
кстати про дримвивер. нельзя сделать, чтобы инклюды сразу прикреплялись в виде кода ?

А смысл? Ты будешь видеть не ту страницу, что у тебя естЬ, а что-то неудобоваримое. Собственно, как я понимаю, инклуд для того и сделали, чтобы делать нормальный код.
Потом захочется видеть сразу же код всех используемых функций, а потом еще что-то... И в итоге просто потеряешься в куче информации.

Спустя 2 часа, 1 минута, 14 секунд (19.08.2009 - 16:06) Krevedko написал(а):
нет нет...допустим будет страничка..на ней надписи типа include 'config.php'
include 'admin.php'
я нажимаю на первой надписи -разворачивается код config.php. Посмотрел, нажал-он свернулся.
Проще искать будет что-то, чем открывать все файлы по очереди. У меня их и так по 15 штук вечно открыто
Быстрый ответ:

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