PHP czy framework?

0

Czesc, ucze sie od jakiegos czasu php i zastanawiam sie czy nie przsiasc sie na jakis framework. Z tego co patrzylem zasady sa podobne, wiec nawet niewazne na jaki wejde na kolejny jak sie przesiade bedzie mi latwiej, ale chodzi o to, jak pracodawcy patrza na umiejetnosci pisania w czystym php, czy frameworku. Wiem co to mvc i obiektowka, wiec na frameworku sie odnajde, ale chcialbym zeby nauka nie poszla w las, dlatego zastanawiam sie, czy nie lepiej ogarnac bardziej czystego php - choc wydaje mi sie ten jezyk, ze jest w nim straszny balagan mimo wszystko, a widzac kod w frameworku wyglada wrecz perfect. No ale jak to wyglada w rzeczywistosci. W pracy? Framework, czy raczej tradycyjne podejscie?

S0
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 7 lat
  • Postów:12
0

znajomość "czystego" php jest ważna ale większość firm używa frameworków

pavon147
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 8 lat
1

Oczywiście, że framework. Przyspieszasz pracę, piszesz czysty i zrozumiały dla innych kod. Pierwsze o co zapytają, to jakie znasz frameworki i wzorce projektowe. Czasami nie warto używać frameworka typu Laravel przy małych projektach. Trzeba rozróżnić kiedy użyć np. Smarty, a kiedy coś konkretniejszego, jednak reasumując i tak powinno się używać jakiegoś frameworka lub przynajmniej solidnie implementować wzorce. Nauka na pewno nie pójdzie w las.

edytowany 1x, ostatnio: pavon147
Fi3rce
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 9 lat
  • Postów:423
1

Ja po 2 miesiącach przygody z web devem zostałem przeniesiony z HTML/CSS na Zend'a. Z php prawie nic nie umiałem, ale miałem podstawową wiedzę z zakresu programowania w Javie i OOP. Według mnie framework jest dla kogoś, ktos zna już dany język. To tak samo jak miałem z jQuery. Zacząłem go używać zanim zrozumiałem dobrze JS i wkurw.... się co 5 sekund, bo a to this mi sie bindowało nie takie jak trzeba, a to domknięcia ( wtedy nie widziałem, że coś takiego istnieje w tym języku) się pojawiały itd. W obydwu przypadkach wróciłem do początku, przyswoiłem solidnie podstawy i dopiero wróciłem do frameworków. Poza tym uważam, że dobrze jest wiedzieć jak coś działa, zanim się zacznie korzystać z gotowych komponentów.

Piszę to z punktu widzenia początkującego, więc zwróć większa uwagę na opinie doświadczonych programistów.


„Every Pro was once an amateur, every expert was once a beginner.”
edytowany 2x, ostatnio: Fi3rce
0

To znaczy ja liznalem tego php-a. Bawilem sie z formularzami itp. Proste crud aplikacje rowniez sobie napisalem wykorzystujac tablice $_GET chociazby. I tak sobie mysle. A co tam, zobacze sobie jakies tutoriale. Niechacy jakos natrafilem na Laravel wlasnie. Spodobal mi sie, nie powiem. No ale tak sobie mysle. Kurcze, juz do frameworka mam sie rzucac? No ale jak na razie wszystko jest dla mnie zrozumiale i wiem co z czego jest + framework js-owe, ktore tez cos tam sobie robilem. Jako iz ogladalem wczoraj przez kilka godzin tutki do laravel i juz sobie go zaimplementowalem composerem, to chyba zaczne w tym pisac, ale jako drugi strzal myslalem nad symfony. Tak sobie mysle, ze warto to umiec, bo nawet jak w pracy bym pisal w springu, to podejrzewam, ze na projekt php predzej czy pozniej zostane wrzucony. Mial ktos doswiadczenie z laravelem? Tak sobie mysle jaki front do tego polaczyc. Osobiscie co polecacie?

Fi3rce
"jest w nim straszny balagan" - wybrałeś idealny framework dla siebie - Laravel - The PHP Framework For Web Artisans :D
drorat1
  • Rejestracja:ponad 15 lat
  • Ostatnio:około 2 lata
  • Lokalizacja:Krasnystaw
  • Postów:1181
0
KrawiecBombata napisał(a):

Proste crud aplikacje rowniez sobie napisalem wykorzystujac tablice $_GET chociazby.

Tak co do CRUD, GET służy do pobierania danych z bazy danych np. wyświetlenie listy jakichś danych i jeśli chodzi Ci o tablicę $_GET która to w istocie obrazuje to co masz w pasku adresu, konkretniej parametry:

domena.com/index.php?parametr1=wartosc1&parametr2=wartosc2

Wykorzystuje się w wyszukiwarkach.

I nie wstawia się nowych rekordów przez $_GET tylko przez $_POST, dotyczy to także modyfikacji. Pomijam tu już REST, gdzie wykorzystuje się metody GET, POST, PUT, DELETE.

Niechacy jakos natrafilem na Laravel wlasnie. Spodobal mi sie, nie powiem. No ale tak sobie mysle. Kurcze, juz do frameworka mam sie rzucac?

I co z tego że Ci się spodobał akurat ten framework? W większości przypadków używa się Symfony a ten będzie NARZUCONY przez pracodawców i nie jest istotne czy Ci się podoba czy nie. A niektóre firmy używają WŁASNYCH rozwiązań, więc na niewiele się zda znajomość popularnych frameworków.

Ogólnie, FW zawiera zbiór gotowych klas do typowych zastosowań, aplikację webową przy ich użyciu pisze się o niebo szybciej niż od zera, co nie zwalnia od znajomości czystego PHP bo to i tak podstawa.

Zobacz pozostały 1 komentarz
drorat1
To sprawdź sobie to co jest w $_GET przez var_dump albo to co jest $_SERVER['REQUEST_METHOD'] przy takim wywołaniu z tymi parametrami zaczynającymi się od ? a rozdzielonymi &
Patryk27
Aha, czyli to, że superzmienna GET służy do pobierania wartości z bazy to Twoim zdaniem nie jest bzdura?
drorat1
Mówiłem raczej o metodzie GET a nie np. POST. A w tych parametrach URL mogą być po prostu opcje do filtrowania danych. np tak: domena.com/search?from=2015-01-01&to=2015-05-01
Patryk27
Nadal nie widzę, w jaki sposób to służy do pobierania danych z bazy danych.
Heheczek
Po prostu GET i POST to jest tak jakby "standard" nagłówka HTTP. Do wyszukiwania danych według standardu powinno się używać GET a do zapisu danych POST lecz jak wiadomo różnie ludzie to interpretują :)
pavon147
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 8 lat
0

Naucz się dowolnego wiodącego frameworka. W sieci jest dosyć diagramów/wykresów prezentujących ich popularność. Jeśli przyswoisz jeden, to nauka następnych przyjdzie Ci łatwiej i jeżeli będzie się trzeba na coś przerzucić, to nie będziesz miał większych problemów.

Fi3rce
W sieci króluje Laravel z tego co mi się udało zorientować, ale w Polsce jest to chyba Symfony, więc jeżeli już wydaje mi się, że lepiej żeby poszedł w tym kierunku.
0

domena.com/index.php?parametr1=wartosc1&parametr2=wartosc2
tak i wlasnie dzieki tym parametrom wykonywalem operacje przez php i mysql.

I co z tego że Ci się spodobał akurat ten framework? W większości przypadków używa się Symfony a ten będzie NARZUCONY przez pracodawców i nie jest istotne czy Ci się podoba czy nie. A niektóre firmy używają WŁASNYCH rozwiązań, więc na niewiele się zda znajomość popularnych frameworków.

Tak, ale jak wczesniej napisalem mam w planach nauke laravel a pozniej symfony. Dzieki temu z pewnoscia jakikolwiek bedzie mi NARZUCONY framework bedzie mi lepiej, bo bede wiedzial z czym sie je, pozostanie mi jedynie przyzwyczajenie sie do rozwiazan danego srodowiska w ktorym bym musial pracowac.

Jak na razie mam zainstalowany laravel, wiec zrobie sobie cos w tym a pozniej symfony, zeby miec porownanie i wybrac, zeby nie bylo pozniej za pozno. Btw. nie ograniczajmy sie do polskich rynkow ;)

0

Mam pytanko. Wie ktos moze jak polaczyc laravel z angularem? Bo jak wrzucam {{dane}}, to wypluwa mi blad. Bo w laravel tez uzywa sie takich znacznikow, wie ktos jak to pogodzic?

drorat1
  • Rejestracja:ponad 15 lat
  • Ostatnio:około 2 lata
  • Lokalizacja:Krasnystaw
  • Postów:1181
0

Może użyj: { zamiast { i } zamiast } ale w miejscach gdzie jest kod tego Angulara, PHP ma tylko wygenerować dynamiczną stronę a tam w miejscach określonych przez {{ }} wstawia się jakieś zmienne.

http://www.degraeve.com/reference/specialcharacters.php

edytowany 1x, ostatnio: flowCRANE
0

Hm, poszlo. Jest jakis sposob, zeby np. podmienic a angularze znaki { i } np, na {% %}, chociazby, bo przeciez nie bede takiego kodu uzywal.

0
Kopiuj
	var app = angular.module('firstapp', [], function($interpolateProvider) {
        $interpolateProvider.startSymbol('{%');
        $interpolateProvider.endSymbol('%}');
    });;

Tutaj kod dla osob ktore chcialyby zmienic swoje znaki w angularze.

edytowany 1x, ostatnio: flowCRANE
drorat1
  • Rejestracja:ponad 15 lat
  • Ostatnio:około 2 lata
  • Lokalizacja:Krasnystaw
  • Postów:1181
0

@Patryk27

Wezmę na przykładzie Kohana Framework, wyszukiwanie dajmy na to listy ogłoszeń o pracę:

jakasdomena.com/jobs?fromdate=2015-01-01&todate=2015-05-31

domyślny routing:

Kopiuj
Route::set('default', '(<controller>(/<action>(/<id>)))')
    ->defaults(array(
        'controller' => 'welcome',
        'action'     => 'index',
));

I kontroler:

Kopiuj
class Controller_Jobs extends Controller_Template
{
    public function action_index()
    {
        try
        {   
            if ($this->request->query('fromdate') && $this->request->query('todate'))
            {
                $fromdate = $this->request->query('fromdate'); 
                $todate = $this->request->query('todate'); 
            
                $jobs = DB::select('*')
                    ->from('jobs')
                    ->where('jobdate', '>=', $fromdate)
                    ->where('jobdate', '<=', $todate)
                    ->execute()
                    ->as_array();
            }
            else
            {
                $jobs = DB::select('*')
                    ->from('jobs')
                    ->execute()
                    ->as_array();
            }
        }
        catch (Database_Exception $e)
        {
            $error = 'Database error';
        }

        $this->template = View::factory('jobs/index')
                        ->set('jobs', $jobs)
                        ->bind('error', $error);  
    }
}

Zamaiast $this->request->query można by użyć $_GET i sprawdzanie typu isset ale to chyba niepotrzebne zamieszanie i pewnie też ryzyko błędów.

edytowany 1x, ostatnio: drorat1
Patryk27
No ale Ty pobierasz dane z bazy danych przez klasę DB, a nie - tak jak napisałeś - superzmienną $_GET
drorat1
Pewnie po prostu źle mnie zrozumiałeś. W tym przykładzie i tak jako metoda będzie GET a $_GET będzie zawierać to co jest w parametrach fromdate i todate jako tablica. I to jest użyte do pobierania i filtracji danych a nie żeby $_GET zawierało już te dane z bazy. Chodziło mi raczej o tą metodę GET.
Patryk27
Nie zrozumiałem Cię źle. Wyraźnie napisałeś, że GET służy do pobierania danych z bazy danych.
Garen_eye
  • Rejestracja:około 10 lat
  • Ostatnio:ponad rok
  • Lokalizacja:Warszawa
  • Postów:68
0

Nie wiem czy padła już taka odpowiedź w tym wątku, ale od siebie jeszcze proponuje Ci popisać w jakimś MicroFrameworku typu Slim. Taki kompromis pomiędzy pewnym schematem kodu (o ile w miarę trzymasz się wzorców) a własnym widzimisię. Fajnie rozwija i pozwala zrozumieć jakie problemy rozwiązują te większe frameworki.

Dodatkowo oprócz badania samych frameworków korzystaj z Composera i buduj swoje aplikacje sprawdzając rozwiązania osób trzecich.

(Nie wiem do końca czy to właściwe podejście, ale właśnie takie sam obrałem przygotowując jakieś fundamenty pod przyszłą pracę.)


0

Dzieki serdecznie za rady. Jak na razie napisze sobie jakas stronke w laravel, a po tym sprobuje zrobic to samo, ale w symfony i zobacze co mi bardziej odpowiada, zeby zaczac jako pierwsze. Jak myslicie, czy nauka frameworkow php-a pomoze mi w jakims stopnie, gdybym chcial pozniej sie przeniesc na springa?

drorat1
Spring to FW dla JAVA.
0

Wiem, ze jest to framework dla javy. Ale wlasnie do tego zmierzam. Czy uczac sie springa bede widzial podobienstwa. Czyli routingi i te sprawy, tylko po prostu inaczej jest to obrane, czy tam sa inne rozwiazania kompletnie.

forsberg
Nauczenie się Symfony2 / 3 to dobry krok w kierunku Springa, bo ten pierwszy sporo wziął z drugiego. Ale w sumie nie wiem po co na około, to jak chcesz być Javow'cem, to zacznij od Javy SE, a potem JEE, a potem Spring, PHP wówczas możesz pominąć, stracisz czas jeśli nie chcesz tego robić.
Tumeg
  • Rejestracja:prawie 11 lat
  • Ostatnio:ponad 8 lat
  • Postów:687
0

Poznanie ogólnej koncepcji na której opiera się programowanie obiektowe na pewno Ci nie zaszkodzi i pomoże lepiej pracować nie tylko z językiem przy którym nauczyłeś się OOP.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.