Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapytania SQL w obiekcie
Forum PHP.pl > Forum > PHP > Object-oriented programming
frytek92
Witam mam taki problem, mam baze danych której często robie modernizacje i mój problem polega na tym że przy każdej modernizacji musze skakać po kodzie i zmieniac zapytania SQL, myśle o takim rozwiązaniu ale nie jestem za bardzo do niego przekonany czy jest sens? czy może jest jakaś inna metoda

Przykład :

  1.  
  2. <?php
  3.  
  4. class sql_action extends sql_core {
  5.  
  6. public function ranking_insert($values){
  7.  
  8. if(is_array($values) && isset($values['login'])){
  9.  
  10. $this->query("INSERT INTO `user` (`login`) VALUES ('{$values['login']}')");
  11.  
  12. }
  13.  
  14. }
  15.  
  16. }
  17.  


Pozdrawiam i licze na odpowiedź smile.gif
prachwal
nie ma to sensu w tym miejscu

http://php.net/manual/en/pdo.prepared-statements.php

a to przy okazji
Zyx
Niestety, jeśli robisz częste modernizacje, to skakania po kodzie nie unikniesz. Równie dobrze mógłbyś pytać, co zrobić by uniknąć przebudowy budynku, bo często zdarza Ci się demontować ściany nośne. Co najwyżej możesz dążyć do minimalizowania liczby miejsc, w których coś trzeba zmienić, a można to osiągnąć po prostu poprzez odpowiednią organizację kodu tak, by rzeczy związanie np. z X były w jednym miejscu, z Y - w drugim itd. W ten sposób nawet jeśli jakaś operacja będzie wykonywana w różnych miejscach, jej implementacja będzie jedna i trzeba będzie zmienić tylko ją.

PS. class sql_action extends sql_core - litości, człowieku, zastanów się przez chwilę nad tym, po czym dziedziczysz... Akcje po systemie komunikacji z bazą danych? Przecież to nie ma żadnego sensu!

Pilsener
Jak sobie kod organizujesz, tak potem się stresujesz. Logika modeli w wypadku bazy jest dość oczywista: jedna tabela = jeden model. Model nazywa się tak jak tabela w bazie i ma taką też lokalizację w folderze /models. Przykład: masz tabelę page_comments, plik comments.php znajduje się w folderze /models/page a nazwa klasy to model_page_comments. Nazwy metod także powinny podlegać pewnym standardom. W ten sposób ładnie nam się rozwija lista klas (a po wybraniu klasy metod) w przeglądarce obiektów, po wpisaniu "new model_" lista modeli, po "new model_p" lista modeli zaczynających się na "p", niczego nie trzeba szukać i do wszystkiego łatwy dostęp.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.