» »

Učenje PHP?

Učenje PHP?

yahooman ::

Nekaj časa se že učim programirati in me je pripeljalo do izdelovanja spletnih strani. Zanimam se predvsem za website DEVELOPMENT. html, css, in malce JS, jQuery že znam. Želel bi narediti sistem za pošiljanje sporočil prek strani , kot kakšen forum, ter različne backend zadeve. Slišim da PHP "umira", je pa najbolj primeren jezik za kaj takega? Ali se motim?

blackbfm ::

narobe slišiš, nič ne kaže da bi php umiral..

roko granata ::

PHP nikakor ne umira. Svojemu naboru tehnologij dodaj še SQL in si na pravi poti. Predvsem pa, never believe hype driven development.

Lonsarg ::

Pri nas v firmi se ga otepamo in trudimo da umre, ampak ne nas poslušat, smo pač C# razvajenci :) Ti kar PHP učit, tut takega smo morali enega zaposlit za neko kodo vzdrževat.

Drgač pa ja, SQL je THE osnova za praktično katerokoli programersko službo.

Zgodovina sprememb…

  • spremenil: Lonsarg ()

yahooman ::

Kako smiselno pa je z PHP primerjati kaksen Python, JavaScript(node.JS etc.), za backend?

Zgodovina sprememb…

  • spremenil: yahooman ()

blackbfm ::

vse lahko povsod narediš.. če neveš kaj točno bi ti priporočam da se začneš učit php + wordpress..to znanje boš najlažje prodal naprej

Netrunner ::

pa ne se sekirat preveč... bilokakšnega jezika se naučiš ti bo podloga za ostale. Navadi se PHP-ja in če bo potreba presedlaš a drugaga. Ko enkrat naštudiraš koncept sam jezik ni tako pomemben.

U2ros ::

Na tvojem mestu bi za backend začel študirat node.js in z njim povezana orodja, ker je tudi pisan v javascriptu - eliminiraš potrebo po učenju še enega jezika (če si že začel z web developmentom), in kot so ostali rekli, še sql in dmbs.Zadnjič sem gledal en podcast, kjer so debatirali ne temo ali je jquery v današnjih časih ko imaš react.js, angular, in podobne js frameworke še potreben, pa so zaključili da bolj izjemoma, zaradi legacy projektov, za nove pa niti ne, kar me je malo presenetilo. Najbrž to drži za res cutting edge specializirane web deve in velike projekte, meni je jquery še vedno prvi tool na client sideu, če moram kaj preprostega zlimat skup za web.

Pa še trendi glede popularnosti jezikov:
https://www.google.com/trends/explore?q...

yahooman ::

Lahko samo vprašam, da ne odpiram nove teme, zakaj je v različnih frameworkih (npr Pythonov Django) potrebno uporabljati komandno vrtico(cmd, terminal..), ker (kakor jaz vem) je pri PHPju tako, da napises PHP skripto v dokument posebej in nato samo linkaš HTML z PHPjem. Se motim, mešam različne stvari, razen to da je DJango framework, PHP pa jezik?

U2ros ::

Django je pythonov framework za web development (eden od mnogih, poleg recimo cherrypy, pylons, itn). Namen frameworka je med drugim da olajša delo na ta način da že vsebuje določene rešitve iz konteksta zaradi katerega je nastal, da tebi ni treba odkrivat tople vode. Primer: surovi python nima nikakrsne podpore za avtentikacijo uporabnikov, django (ki je napisan v pythonu seveda), ima to funkcionalnost da ima ze narejen sistem avtentikacije uporabnikov. Da pa ti recimo za nek konkreten projekt v Djangu zgeneriraš ali vključiš te submodule, pa uporabljas nek shell (terminal, cmd prompt, ali kakorkoli ze to imenujes) od koder kličeš djangotove helper komande za razlicne stvari, in kasneje še kaj na roke popravis, recimo kaksen template in podobno. Gre torej za upravljanje djanga, tako so si pač snovalci zamislili ta konkreten framework. V sami fazi delovanja neke spletne aplikacije ki tece v django frameworku pa deluje po podobnem principu kot php. Torej klient poslje na streznik request, da se tam obdela, v primeru da gre za php aplikacijo to naredi lahko recimo apachev php modul (ce gre za klasicni lamp stack), v primeru djanga pa request spet sprocesira neka serverska konfiguracija, ki ima zadaj instaliran prvic pythonski modul za web server (ali kar direktno podporo, kot npr. cherrypy ki je lahko samostojen web server) in še django.

Zgodovina sprememb…

  • spremenilo: U2ros ()

mojca ::

Ne vem, ali prav razumem vprašanje, ampak če je programerja strah uporabljati ukazno vrstico, je to pogosto še kar velik hendikep.

Ne vem sicer, zakaj bi bilo v enem primeru bolj potrebno uporabljati ukazno vrstico kot v drugem (python uporabljam, djangota ne, php res lahko teče direkt iz browserja, še vedno pa je potrebno skonfigurirati in ponovno zagnati apache). Če programiraš v Python-u, seveda lahko uporabljaš IDE in tam poganjaš vse ukaze (sama to počnem skoraj izključno v ukazni vrstici). Pogosto ukazno vrstico potrebuješ vsaj za to, da zaženeš program/proces za spletno stran na strežniku.

PHP morda ne umira, ni pa najprijaznejši jezik (če bi pisala karkoli za splet iz nule, ga ne bi izbrala). Glede na https://w3techs.com/technologies/histor... ima 82% market share, je pa po mojem to vsaj malo "nefer" statistika, ker vključuje vse tiste strani, kjer so upoabniki dvakrat kliknili za namestitev WordPressa in se samega php-ja ni nikoli nihče dotaknil. Če bi bil framework enake ali boljše kvalitete spisan v drugem programskem jeziku, bi bile številke verjetno drugačne.

Ruby on rails je npr. zakon za hitro spisat spletno stran z nule. Je pa super nehvaležen za maintenance, ker vsaka nova verzija frameworka zahteva spletno stran skoraj spisat znova.

yahooman ::

TOrej če prav razumem, je Django za večje strani z večjo potrebo po backendu. Kajpa, na primer, če bi želel le sistem, ki na server pošlje podatke, ki jih je v textbox vpisal user in pa da stran pobere tvoj IP address, recimo. Je za kaj takega tudi primeren Django?

mojca ::

To lahko brez težav spišeš v "kateremkoli" programskem jeziku (oz. najdeš že spisano).

yahooman ::

Kako pa potem naprimer Python kodo vpišeš v html dokument? Kot pri PHPju ko uporabiš
<?php  koda  ?>
za inline kodo

Zgodovina sprememb…

  • spremenil: yahooman ()

U2ros ::

Python se načeloma ne embedda v html dokumente, niti ni to najboljša praksa (četudi se zdi lepo enostavno). PHP deluje kot deluje, ker ko web strežnik (pri čemer mislim na program ki izvaja vlogo spletnega strežnika in ne fizični strežnik - hardware) pri sestavljanju responsa na request naleti na php tag, ve da mora sklop znotraj tega taga prepustiti v obdelavo PHP interpreterju, rezultat pa nadomesti php sklop. Kot templating, ni pa to edini način delovanja v php.

Mogoče si poglej enostaven HelloWorld program za cherrypy, da boš videl kako izgleda koncept tam:

http://docs.cherrypy.org/en/latest/

Če pogledaš komentar, vidiš da je index(self) funkcija, ki se izvede, ko client pošlje request na naslov
http://<hostname>/index


Ko to skripto zaženeš (iz cmd prompta: python mojserver.py na primer), se dejansko požene testni web server, ki je spisan v pythonu in ta direktno obravnava requeste. V HelloWorld programu funkcija index vedno vrne besedilo "Hello World". Ampak ti bi recimo v tej metodi prebral html datoteko s tvojim input fieldom v memory in jo vrnil namesto preprostega "Hello World" besedila. Lahko bi tudi vrnil kar inline html, na primer:

def index(self):
   return '<p><form action="submit"><input name="user" type="text"></input><button type="submit"></button></form></p>'


(Ne vem, ali sem čisto pravilno spisal ta inline html, ampak za idejo je ok)

Naslednji korak bi bil, da v aplikacijo HelloWorld dodaš še funkcijo submit(self, user), ki potem dejansko prejme informacije iz forma in nekaj z njimi naredi.

Zgodovina sprememb…

  • spremenilo: U2ros ()

yahooman ::

No sedaj se že apr dni trudim naredit nekaj takega: https://www.123contactform.com/simple-p... , v pythonu seveda, pa mi nikakor ni jasno kako bi to isto napisal v pythonu, kljub vsem iskanju po internetu :|

Zgodovina sprememb…

  • spremenil: yahooman ()

brodul ::

Python ni misljen samo za web development in je kar tezko/tecno napisat spletno stran samo v pytonu. Skoraj nujno rabis nek super simple lib/framework npr. flask ali pyramid.
Pretending to be a mature adult is so exhausting.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Kateri programski jezik?

Oddelek: Programiranje
233181 (2487) driver_x
»

Spletne strani danes

Oddelek: Izdelava spletišč
324774 (3900) hendriks
»

PHP ASP

Oddelek: Izdelava spletišč
353043 (2368) MrBrdo
»

[FORK] PHP kot jezik

Oddelek: Programiranje
353376 (2715) [MYTiX]

Več podobnih tem