Dobra, widzę, że chyba się nie zrozumieliśmy
Nie mam zamiaru uczyć się na nowo PHP.
Napisałem taki oto system bloga:
<div class="major-container rounded-5px" style="width:590px; float:left;">
<?php
require_once('elements/functions/month_id_to_name.php'); // Id miesiąca do nazwy
if(!isset($_GET['p']) && !isset($_GET['c'])) { // ####################
// Znajduje najświeższy rok i id miesiąca w którym dodano jakiś post na blog'u
$query = "SELECT MAX(entry_month_id), entry_year FROM blog WHERE
entry_year IN (SELECT MAX(entry_year) FROM blog) ";
// jeśli nie jest określony miesiąc i rok (w adresie) w których
// dodano najświeższy post na blogu, określ domyślne za pomocą zmiennych
// wynikowych z funkcji powyżej.
if(!isset($_GET['month']) or
!isset($_GET['year'])) { $month = $row[0];
$year = $row[entry_year];
// jeśli zmienne są w adresie
;} else {
$month = $_GET['month']; # zmienna z adresu
$year = $_GET['year']; # zmienna z adresu
}
// Pobierz dane z tabeli
$query = "SELECT * FROM blog WHERE entry_month_id = '".$month."' AND entry_year = '".$year."' ORDER BY entry_day DESC, entry_id DESC";
// Wykonaj $query
// Wykonaj pętlę dla wszystkich znalezionych wierszy
// ( Stwórz jeden obiekt notatki z dnia )
extract($row); // Wydziubdziaj mi tu zmienne z bazy danych $entry_month = m($month); // Nazwa miesiąca
// Pobierz info o kategorii
$result = mysql_query("SELECT cat_title , cat_color FROM categories WHERE cat_id = $entry_cat ");
// Wykonaj post wpis dla każdego wiersza z tabeli
<div style="position:relative;">
<div $admin_yes id="blog_post_edit" class="rounded-5px">
<a href="?id=blog_post_remove&menu=small&ent_id=$entry_id">usuń</a>
/
<a href="?id=blog_post_update&menu=small&ent_id=$entry_id">edytuj</a>
</div>
... i tak dalej ....
</div>
A teraz stwierdziłem, że wygodniej pracowałoby mi się, gdybym miał poszczególne partie kodu PHP w osobnych sekcjach, ale już nie w plikach, ponieważ mam ich za dużo.
Staram się przerobić mój kod na coś w stylu:
<table cellspacing="0" class="blog-notepad">
<tr>
<td class="blog-notepad-left">
</td>
<td class="blog-notepad-middle">
<?php blog_entry();?>
</td>
<td class="blog-notepad-right">
<?php blog_panel();?>
</td>
</tr>
<tr>
<td class="blog-notepad-bottom-1">
</td>
<td class="blog-notepad-bottom-2">
<?php blog_navi();?>
</td>
<td class="blog-notepad-bottom-3">
</td>
</tr>
</table>
<?php
function blog_entry(){
global $admin_yes, $admin_no, $a_y, $a_n; // bierz zmienne z poza funkcji
// Znajduje najświeższy rok i id miesiąca w którym dodano jakiś post na blog'u
$query = "SELECT MAX(entry_month_id), entry_year FROM blog WHERE
entry_year IN (SELECT MAX(entry_year) FROM blog) ";
// jeśli nie jest określony miesiąc i rok (w adresie) w których
// dodano najświeższy post na blogu, określ domyślne za pomocą zmiennych
// wynikowych z funkcji powyżej.
if(!isset($_GET['month']) or
!isset($_GET['year'])) {
$month = $row[0];
$year = $row[entry_year];
// jeśli zmienne są w adresie
}
else
{
$month = $_GET['month']; # zmienna z adresu
$year = $_GET['year']; # zmienna z adresu
}
if(isset($_GET['p'])) // Rodzaj pobierania danych ( cały miesiąc, czy tylko jeden post ) {
// Pobierz dane z tabeli
$query = "SELECT * FROM blog WHERE entry_id = '".$_GET['p']."' ";
// Wykonuj $query
}
else
{
// Pobierz dane z tabeli
$query = "SELECT * FROM blog WHERE entry_month_id = '".$month."' AND entry_year = '".$year."' ORDER BY entry_day DESC, entry_id DESC";
// Wykonaj $query
}
// Wykonaj pętlę dla wszystkich znalezionych wierszy
// ( Stwórz jeden obiekt notatki z dnia )
extract($row); // Wydziubdziaj mi tu zmienne z bazy danych $entry_month = m($entry_month_id); // Nazwa miesiąca
// Pobierz info o kategorii
$result = mysql_query("SELECT cat_title , cat_color FROM categories WHERE cat_id = $entry_cat ");
<div class="blog-notepad-entry">
<div class="header">
<div class="day rounded-5px">
<span style="font-size:12px;font-weight:bold">
$entry_day
</span>
<span style="font-size:12px">
$entry_month
</span>
<span style="font-size:12px">
$entry_year
</span>
</div>
<div class="category">
kategoria:
<img src="elements/images/cat.png" width="10" height="10" style="background-color:$cat_color;dislay:inline;">
<a href="?c=$entry_cat" style="color:black;">$cat_title</a>
</div>
..... i tak dalej .....
?>
Tylko, że tworząc funkcje, tworzone w nich zmienne nie wychodzą an zewnątrz, a nie chcę się bawić w "return" i ładowanie zwróconych argumentów do kolejnych funkcji ( function zjedz_ciastko(jeden,dwa,trzy){} ).
Potrzebuję ładnego rozwiązania do umieszczania kodu w obiektach i ładowanie ich w dane miejsce.