Witam,
Mam do zrobienia aplikację webową na urządzenia mobilne, czyli wykorzystuję bootstrapa. Z layoutem więc nie ma problemu, jednakże kod zaczyna wyglądać tak mało czytelnie, gdy w grę wchodzi php. Dawniej robiłem stronki tak jak szanowny Mirosław Zelent pokazuje np. w kursie PHP, odcinek 2 i 3, logowanie i rejestracja, jednakże, myślę, że taki sposób do rozbudowanej aplikacji, gdzie będą użytkownicy, baza danych, różne funkcjonalności, głosowanie, historia, przesyłane pliki i wiadomości do userów, że to nie wypali mi w przyszłości i się zgubię, lub będzie to tak fatalnie się prezentować. Myślę, że wiecie o co mi chodzi.
Ostatnio jak kolegę prosiłem o pomoc w czymś innym to zrobił mi taki szkielet, że miałem plik www.php, a w nim, begin i end strony i dołączane tam były potrzebne pliki bootstrapa, css, tagi html kończące i zamykające, a reszta była w funkcji strona_tresc() która zwracała www, czyli wygląd. Dam kawałek jakiegoś kodu, abyście zobaczyli jak to jest ułożone.
<?php
session_start();
if (!isset($_SESSION['online']))
{
header('Location: index.php');
exit();
}
require_once "www.php";
function strona_content()
{
$www='
<div class="container">
<div class="row">
<div class="col-sm-12 text-center">
<p><b>Użytkownik</b>: '.$_SESSION['user'].' [ <a href=logout.php> Wyloguj się</a> ]
<p><hr><p>';
$sql="select * from session";
$result = query($sql);
while ($tmp=mysqli_fetch_array($result))
{
if($_GET['session'] == $tmp['session_id']){
$_SESSION['session_id']=$tmp['session_id'];
$sql2="select * from history_vote where user_id=".$_SESSION['user_id']." AND session_id=".$_SESSION['session_id']." ";
$result2 = query($sql2);
if($tmp2=mysqli_fetch_array($result2)==false)
{
$www.= '
<form class="form-horizontal" method="POST" action="count.php">
<div class="form-group">
<div class="col-sm-4 center col-sm-offset-4">
<div class="col-sm-12 text-center">
Głosujesz odnośnie ustawy '.$tmp['name'].'. Twój głos to: <br><br>
<button type="submit"name="for" class="btn btn-primary form-control">Za</button> <br><br>
<button type="submit" name="against" class="btn btn-primary form-control">Przeciw</button> <br>
</form>
</div>
</div>
</div>
</div> <br> <a href=start.php> Wróc na strone główną zalogowanego zioma</a>
';
}
else
{
$sql3="select * from history_vote where user_id=".$_SESSION['user_id']." AND session_id=".$_SESSION['session_id']." ";
$result3 = query($sql3);
$row=$result3->fetch_assoc();
if($row['v_for']==1) $vote=" za "; else $vote=" przeciw ";
$www.= '
<div class="col-sm-4 center col-sm-offset-4">
<div class="col-sm-12 text-center">
Ty już głosowałeś i nie będziesz miał nigdy kolejnej szansy na głos! <br>Głosowałeś '.$vote.' <br>
<h4>Podsumowane głosy dotyczące : '.$tmp['name'].' <br><br> </h4>
Za: '.$tmp['for'].' <br>
Przeciw: '.$tmp['against'].'
</div>
</div>
</div>
</div> <br> <a href=start.php> Wróc na strone główną zalogowanego zioma</a>
';
}
}
}
return $www;
}
echo strona_begin();
echo strona_content();
echo strona_end();
?>
Chodzi o ułożenie. strona begin i end zawsze taka sama, a kurka, przydałoby się czasem to jednak zmienić, aby co innego się wyświetliło, nie zawsze chcę, aby było u góry tak samo. Który sposób jest lepszy, taki na funkcjach czy taki, czyli że html w php, czy tak aby php w html. Dodam, że tak jak jest teraz, jak jest html i php, to nie mam podpowiadania składni, próbowałem kilka edytorów tekstu i żaden nie podświetlał, nie kończył ani nic. Użyć jakiegoś frameworka, czy samemu coś ulepszyć tą strukturę, Czytałem coś o dużych obiektowych frameworkach i nie wiem czy by się nie nauczyć z nich korzystać. Moglibyście mi wskazać jakaś drogę? Z góry dzięki.