• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Struktura kodu, php a html (aby od raz dobrze zacząć)

Object Storage Arubacloud
0 głosów
1,260 wizyt
pytanie zadane 13 lutego 2016 w PHP przez Tomasz Hełmecki Początkujący (250 p.)
zmienione kategorie 13 lutego 2016 przez Patrycjerz

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.

2 odpowiedzi

+1 głos
odpowiedź 13 lutego 2016 przez Comandeer Guru (601,110 p.)
wybrane 13 lutego 2016 przez Tomasz Hełmecki
 
Najlepsza
Pierwszy krok to poznanie wzorca MVC, co pozwoli Ci zacząć pracować z frameworkami. Drugi krok to zainteresowanie sié maleństwami typu Slim i Silex oraz Twigiem. I to na chwilę obecną starczy Ci aż nadto ;)
komentarz 13 lutego 2016 przez Tomasz Hełmecki Początkujący (250 p.)
ok, wzorzec MVC, Wgłębię się w to. A tak że się zapytam, czy wtedy strony nie są bardziej brzydsze jeśli chodzi o css , html i ogólnie wygląd jeśli się korzysta z mvc i frameworków ?
komentarz 13 lutego 2016 przez Comandeer Guru (601,110 p.)
A czemu miałyby być? Przecież PHP (czyli backend) nie ma nic do wyglądu (czyli frontendu).
0 głosów
odpowiedź 13 lutego 2016 przez Tomasz Hełmecki Początkujący (250 p.)
Kurka, nie wiem czy potrzebuję czegoś tak zaawansowanego jak mvc w mojej stronie internetowej, więc jeśli wybierać pomiędzy html w php a php w html to? Ten kod co dałem jest ok?

 

Edycja: Bo jakby to powiedzieć, w php i mysql nie jest aż tak skomplikowane to wszystko, tylko nie wiem jak ładnie kłaść ten kod php w html.
komentarz 13 lutego 2016 przez Comandeer Guru (601,110 p.)
Nie, nie jest. W takim wypadku polecałbym sam system szablonów, najłatwiej chyba Twig → http://twig.sensiolabs.org/ (a dlaczego to można poczytać np. u porneLa: https://kornel.ski/szablony )
komentarz 13 lutego 2016 przez HaKIM Szeryf (87,590 p.)
Ten kod naprawdę nie jest `ok`.

Cytując klasyka: 2/10.
komentarz 13 lutego 2016 przez Tomasz Hełmecki Początkujący (250 p.)
Tylko akurat dla mnie jest bardziej zrozumiały na razie niż te wzorce projektowe, bo tutaj taki normalny PHP jest wraz z normalnym html, choć się boję, co będzie jak tego będzie więcej, jak będą podstrony bardziej skomplikowane to sam nie wiem :D
komentarz 13 lutego 2016 przez Comandeer Guru (601,110 p.)
No i dlatego się oddziela PHP od HTML, a na innym poziomie: HTML od CSS i JS. Inaczej grzęźnie się w bagnie ;)

Podobne pytania

0 głosów
1 odpowiedź 704 wizyt
pytanie zadane 20 maja 2016 w PHP przez Niespecjalny Gaduła (4,180 p.)
0 głosów
1 odpowiedź 258 wizyt
0 głosów
1 odpowiedź 328 wizyt
pytanie zadane 22 marca 2016 w HTML i CSS przez maxo124 Nowicjusz (210 p.)

92,568 zapytań

141,422 odpowiedzi

319,629 komentarzy

61,956 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...