Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 3.08.2017 Ostrzeżenie: (0%)
|
Chciałbym prosić o ocenę kodu programowego (PHP + MySQL) mojej bardzo prostej aplikacji internetowej (sieć reklamowa). Całość napisana w dwóch wersjach (Symfony i własny szkielet aplikacji w PHP).
Aplikacja w Symfony + biblioteka do obsługi Api: https://github.com/webeeq/symfony.eeq https://github.com/webeeq/sieciq Własny szkielet tej samej aplikacji w PHP: https://github.com/webeeq/framework.eeq Obydwa projekty poddawałem już ocenie jakieś dwa lata temu, ale nie widzę nigdzie tamtego wątku, więc tworzę nowy. Pewnie został skasowany. Obecne wersje zawierają liczne poprawki. Prosiłbym zwrócić szczególną uwagę na zagadnienia: 1. Tworzenie klas encji tabel bazy danych w Symfony. Czy dobrze to robię? Chodzi mi głównie o brak deklaracji opcji "default". 2. Jakie wzorce projektowe poza Dependency Injection powinienem użyć w moich projektach. Jakie wzorce warto jeszcze znać? 3. Czy zapytania SQL (w cudzysłowie '...') mogą być w wielu liniach. Nie powoduje to błędu, ale czy to ładnie tak programować? 4. Czy z takim programowaniem, jak moje, jest sens w ogóle starć się o pracę? Bądź lepiej będzie, jeśli dam sobie z tym spokój? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 36 565 Pomógł: 6315 Dołączył: 27.12.2004 |
$code = ($_GET['code']) ? (int) $_GET['code'] : 404;
po co ten pierwszy nawias? $code = $_GET['code'] ? (int) $_GET['code'] : 404; A jakbys przesiadl sie na php7 to juz w ogole bajka: $code = (int) ($_GET['code'] (IMG:style_emoticons/default/questionmark.gif) 404); nie $code == 403 a $code === 403 naucz sie uzywac === Plik index.php i ten zajebiscie duzy switch...case no wola o pomste do nieba (IMG:style_emoticons/default/wink.gif) Nie tworz takich kobyl, robijaj rzeczy na serwisy, klasy user_admin` TINYINT(1) NOT NULL DEFAULT '0', Jak cos jest liczba, to nie ustalaj temu czemus domyslnej wartosci jako tekst. Liczby to liczby, tekst to tekst. Wywal te (1) z tinyint i inne podobne przy typach liczbowych bo to nie sluzy ograniczeniu zakresu liczby... ten kod if (!$editUserModel->isUserId($id, $user)) { $editUserModel->dbClose(); header('Location: ' . $config->getUrl() . '/logowanie'); exit; } powielasz w wielu kontrolerach po co takie // src/Controller/ShowSiteController.php wstawki w kontrolerach? Czemu to sluzy procz faktu ze niczemu? W kazdym kontrolerze masz ->dbConnect() ->dbClose(); Cala masa zbednego i zduplikowanego kodu I wiele wiele wiecej, nie mam czasu przegladac Cytat Czy z takim programowaniem, jak moje, jest sens w ogóle starć się o pracę? Bądź lepiej będzie, jeśli dam sobie z tym spokój? Ludzie sie staraja o prace z gorszymi kodami i mniejsza wiedza (IMG:style_emoticons/default/wink.gif) public function getSiteData( int $site, ?int &$site_visible, ?string &$site_name, ?string &$site_url Unikaj taki potworkow z referencjami. Jak funkcja ma zwracac dane, to zwracaj je jako tablica a nie przez referencje return ($this->dbFetchArray($result)) ? true : false; wystarczy return (bool) $this->dbFetchArray($result); CityListModel ktory jest katalagu model/Ajax Nie tworz modeli pod akcje. Model to model, akcja to akcja. Model moze byc odpalony w kazdej akcji nie "<?php echo $array['www']; ?> a: "<?= $array['www'] ?> Mamy juz XXi wiek (IMG:style_emoticons/default/wink.gif) |
|
|
|
eerie [www] Prosta sieć reklamowa - Symfony i Framework w PHP 7.04.2020, 10:44:14
viking Mnie się jeszcze w oczy rzuciła sama struktura. Ws... 7.04.2020, 11:02:38
nospor Klasa Param to cala prawie do wyrzucenia. Jaki jes... 7.04.2020, 11:13:32 
eerie Cytat(nospor @ 7.04.2020, 12:13:32 ) ... 7.04.2020, 15:22:17
viking Nawet z dokumentacji echo (true?'true':fal... 7.04.2020, 11:45:59
nospor Mimo wszystko podany przez ciebie przyklad z dokum... 7.04.2020, 11:48:52
viking CR są per firma. U mnie by nie przeszło bez nawias... 7.04.2020, 11:50:04
nospor Cytatcs fixer dodający spacje.Przynajmniej w jedny... 7.04.2020, 11:52:05
nospor Przestan tak bezgranicznie patrzec na dokumentacje... 7.04.2020, 15:50:08
eerie CytatMnie się jeszcze w oczy rzuciła sama struktur... 7.04.2020, 16:01:19
nospor CytatZabezpiecza przed atakami. Uniemożliwia wklej... 7.04.2020, 16:25:50
viking Jedna strona jeden kontroler. W różnych fw różnie ... 7.04.2020, 16:50:14
eerie CytatTak. I model nie powinieniec dziedziczyc po d... 8.04.2020, 10:21:48
viking Na przykładzie tego https://github.com/webeeq/fram... 8.04.2020, 11:02:09
nospor CytatNasuwa mi się pytanie... Gdzie i jak powinien... 8.04.2020, 11:09:40
eerie Dzięki serdeczne za trafne uwagi. Wyciągnę z nich ... 8.04.2020, 13:24:10 ![]() ![]() |
|
Aktualny czas: 11.03.2026 - 03:03 |