Pereiti prie turinio

Padekit pradedanciajam [PHP]


Rekomenduojami pranešimai

Sveiki,

Situacija tokia:perskaiciau keleta PHP knygu,skirtu pradedantiesiems.Masyvas,ciklas,rekursija,siek tiek Mysql,pasidriau uzduoteles, kurios buvo knygose, atrodo viskas gan aisku.Taciau cia viskas ir baiges..

Suprantu kad toliau tureciau rasyt po biski savo koda kazkoki,kazka scriptint.Bet kaip tik cia ir papuoliau i "akligatvi" kazkoki.

Taigi klausimas butu toks: kaip gilint savo tas php zinias :D kas,toliau?cia ir pasimeciau :D

Gal pakurt koki puslapeli ir bandyt kazka programint?tai va sitoj vietoj neturiu minciu...

Nu nelabai as risliai cia ,bet gal suprasit.

Gal kas patartu, padetu?

Aciu :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Dabarčiai venk Objektinio programavimo. Prireikus pagalbos visada ją surasi php.net, php.lt forume ir google pagalba. Stenkis kuo mažiau kartotis, palaikyk gerą kodo rašymo stilių(kad ir po metų vos atidaręs bylą suvoktum ką ji daro). Kadangi esi naujokas taip pat patariu pasirašyti kas ką kurioje vietoje daro.

<?php
//Čia išgauname ženklų skaičių
$a=strlen('abc')
//Čia jį išvedame pakelę kvadratu
echo(pow($a))
?>

Redagavo nagisa
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Dabarčiai venk Objektinio programavimo. Prireikus pagalbos visada ją surasi php.net, php.lt forume ir google pagalba. Stenkis kuo mažiau kartotis, palaikyk gerą kodo rašymo stilių(kad ir po metų vos atidaręs bylą suvoktum ką ji daro). Kadangi esi naujokas taip pat patariu pasirašyti kas ką kurioje vietoje daro.

<?php
//Čia išgauname ženklų skaičių
$a=strlen('abc')
//Čia jį išvedame pakelę kvadratu
echo(pow($a))
?>

 

Na nemanau, kad reikia po kiekvienos eilutės rašyti komentarus. Užtenka po kodo bloko/funkcijos rašyti. Pvz.

 

 


	# Generates random string
	public function random ( $len = 6, $lower = true )
	{
		$possible = str_shuffle ( "qwertyuiopasdfghjkzxcvbnmQWERTYUPASDFGHJKLZXCVBNM23456789" );
		$strlen = 56; // <-- strlen($possible) -1;

		$str = null;

		for ( $i = 0; $i < $len; $i++ )
		{
			$str .= $possible [ rand ( 1, $strlen ) -1 ];
		}

		return ( $lower ? strtolower ( $str ) : $str );	
	}


 

Svarbiausia nerašyti bereikšmių kintamųjų vardų, tokių kaip: $a, $aaa, $bd1 ir pnš. Normaliai užvadindamas, kad ir vietoj nagisa pavyzdžio:

 


$a=strlen('abc');

 

pakeisdamas į:

 


$count_chars = strlen ( 'abc' );

 

Ir nereiks jokių papildomų komentarų, o tokias funkcijas kaip strlen labai greit mintinai išmoksi, nes jos yra dažnai naudojamos. Gali ten pakomentuoti nebent labai retai naudojamas tokias kaip ncurses_ mvwaddstr(); etc.

 

Na aš tai iš vis siūlyčiau kuo mažiau tų komentarų rašyti (jeigu kodas bus matomas tik tau, išimtis jei kodas bus opensource), visgi jie užima vietą faile. Reikia išmokti pačiam atsirinkti ką komentuoti, ir komentuoti tik sudėtingas vietas, o ne pavienes eilutes.

 

Pavyzdžiui aš, jei rašau ką ne sau, tai komentuoju taip:

 


# Gets system load average 
# $time - integer 
# 0 - system load average over the last minute 
# 1 - system load average over the last 5 minutes 
# 2 - system load average over the last 15 minutes 
# 3 - system load average array over the last 1, 5 and 15 minutes 
function server_load ( $time = 0 )  
{  
   # Gets system load average array 
   $load = sys_getloadavg (); 

   return ( $time == 3 ? $load : $load [ $time ] ); 
}


 

jei sau:

 


# Gets system load average  ( $time: 0 - 3 )
function server_load ( $time = 0 )  
{ 
   $load = sys_getloadavg (); 

   return ( $time == 3 ? $load : $load [ $time ] ); 
}


 

Ir man pakanka, pažiūrėjas ir po metų, žinosiu kaip veikia.

 

 

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Dėkui atsakiusiems.:)

nagisa,su OOP šiek tiek esu susipažinęs anksčiau,tiesa C++ kalboje.Na aišku pradedant mokytis PHP turbūt nereiktų šokt iškart prie OOP,nes manau kaip pradedančiąjam ir be to yra kur gilintis.Ar ne?

Dėl kodo rašymo tvarkos ir stiliaus visiškai sutinku,tai tikriausiai yra dėl to, kad rašančiojo kodas turi būti suprantamas ne tik jam pačiam,bet ir kitiems.Na gal ne tik dėl to..čia kazkas panašaus kaip ir su komentavimu.

Kolkas kodo daug neįstengiu parasyt,bet visada stengiuos pasikomentuot svarbiausias vietas,arba tas kuriose man kažkas neaišku.

 

Susiradau jūsų forume dar vieną neblogą PHP knygą.Pasirodė nebloga,nes vienas konkretus uzdavinio atvejis,nu ir kodo pavyzdys.

Gal kas nepatingetų ir užmestų akį,gal net patartų ar verta ją skaityt ir bandyt persirašyt gal net modifikuot tą kodą pateiktą knygoj? Ta prasme dėl supratimo pačiam.

http://www.qservice.lt/ebooks/IT/Programming/PHP/php_and_MYSQL_Web_Development.pdf

Dėkui.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Na aš tai iš vis siūlyčiau kuo mažiau tų komentarų rašyti (jeigu kodas bus matomas tik tau, išimtis jei kodas bus opensource), visgi jie užima vietą faile. Reikia išmokti pačiam atsirinkti ką komentuoti, ir komentuoti tik sudėtingas vietas, o ne pavienes eilutes.

Komentarai pasalinami kompiliatoriaus ir nedalyvauja kodo vykdime, jie prideda tik kelias nanosekundes, kol nuskaitomas failas is HDD. Del ju neverta aukotis.

 

Siulyciau sugalvoti ir bandyti igyvendinti koki nors didesni projekta SAU, veliau suprasi, kiek darbo kas reikalauja, ir bus lengviau ateityje ivertinti reikalingo laiko kieki, o mokant pagrindus - pereiti prie kokio nors frameworko, nes kaskart isradineti dvirati... kvaila.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kodel html faile isikraipo sita eilute?

<?php

echo '<p>Order processed.</p>';

?>

Cia koduote?gal xml ?

be paskutinio '>' zenklo atvaizduoja html'as viska gerai.

butent ta zenkla keicia simbliu '>'

kame cia problema?

Redagavo Debian
Nuoroda į pranešimą
Dalintis kituose puslapiuose
  • Administratoriai

Kodel html faile isikraipo sita eilute?

<?php

echo '

Order processed.

';

?>

Cia koduote?gal xml ?

be paskutinio '>' zenklo atvaizduoja html'as viska gerai.

butent ta zenkla keicia simbliu '>'

kame cia problema?

prie ko čia HTML failas jei apie PHP kalba eina? :blink:

Nuoroda į pranešimą
Dalintis kituose puslapiuose
  • Administratoriai

Tarkim ,kad cia visas kodas.

Narsykleje atspauzdina tokia eilute:

Order processed.'; ?>

tai gali reikšti tik vieną - kažkur neužbaigei kabučių, ieškok ar visos yra užbaigtos...

 

PHP failo viršuje dar prirašyk šį kodą ir pasakyk kokias klaidas meta...

 

error_reporting(E_ALL);
ini_set('display_errors', '1');

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Roolis,su plėtiniais viskas tvarkoj tikrai.

Na pabandysiu paaiškinti:

Taigi esu pasikures wamp serveri,serveris atrodo veikia puikiai.Tačiau jis man nevykdo php scriptų.Sakyciau serveris blogai sukonfigūruotas,ane?localhost rodo,kad viskas suinstaliuota viskas veikia.phpmyadmin veikia,mysql veikia,su apache kazkas neaisku man dar..Bandžiau keist serverio nustatymus,naudos nedavė.

Tada išbandžiau dar keletą serveriukų savam kompe pvz:XAMPP,EasyPHP.Juose ta pati problema:iš pažiūros jie veikia piuikiai t.y. pasileidžia klaidu nėra it t.t..Bet ir čia php kodo man nieks nevykdo.

Apache error_log faile radau: 5380: Child process is running

5380: Acquired the start mutex.

5380: Starting 64 worker threads.

5380: Starting thread to listen on port 80

Tiksliai nzn kas čia ir ar dėl to problema.žinau kad apache naudoja porta 8080 (kaip ir skypas tipo),taigi savo modemo nustatymuose atidariau sita porta,bet neesu tikras kad viska tiksliai padariau.Taipat potrą naudoja ir IIS.Apie IIS nelabai nusimanau,bet bandziau išjungt,perjungt rezultatų 0.

Tai vat,kolkas manau gal su tuo portu kazkas netvarkoj,gal jo neatidariau o gal kažkas kitas jį naudoja,todel gali but bėda su apache,bet ir dėl to neesu tikras.reiks pasigilint dar čia..

Perskaičiau turbūt puse googlo :D bet php KODO kolkas NEVYKDO :(

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Apache bent įsijungia? jei ne gal skype blokuoja 80 port'a, pabandyk išjungti skype'je 80 port'o naudojimą. Asmeniškai naudoju xampp nepirmus metus ir nė karto neturėjau su juo bėdų.

 

p.s xampp valdymo panelėje gali paspausti "Port-Check" mygtuką ir pamatysi kokie port'ai užimti, o kokie laisvi.

Redagavo COZ
Nuoroda į pranešimą
Dalintis kituose puslapiuose
Apache bent įsijungia? jei ne gal skype blokuoja 80 port'a, pabandyk išjungti skype'je 80 port'o naudojimą. Asmeniškai naudoju xampp nepirmus metus ir nė karto neturėjau su juo bėdų.

Bėda tikrai ne skaipe.Indikatorai rodo kad Apache running..

Wampas irgi turi tokį mygtuka:

Katik pračekinau,rašo kad portas used by:Server:Apache/2.2.11 (Win32) PHP/5.3.0

 

Vadinas su portu tvarkoj viskas? Nu nzn net dabar kas gelėtų būt..

Redagavo Debian
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...