Jump to content
php.lv forumi

Eiropas Hitu Radio top saraksts


Recommended Posts

Sveiki PHP.lv

 

Šodien nolēmu uzcept kodu ar kura palīdzību iegūstam Eiropas Hitu radio topa sarakstu.

rezultātā mēs saņemam masīvu $results kuru varam iemest foreach kur mums vajag parādīt šo listi :)

 

position - dziesmas šobrīdējā pozīcija eiropas hitu topāabs

changes - dziesmas izmaiņas nedēļas laikāabs

changes_type - 1 = uz augšu, 0 = uz leju

artist - grupa/dziedātājs

title - dziesmas nosaukums

vote - šobrīdējais reitings eiropas hitu top listē

 

Array

(

[0] => stdClass Object

(

[position] => 1

[changes] => 7

[changes_type] => 1

[artist] => keri hilson

[title] => i like

[vote] => 2

)

 

[1] => stdClass Object

(

[position] => 2

[changes] => 1

[changes_type] => 0

[artist] => edward maya & vika jigulina

[title] => stereo love

[vote] => 0

)

 

[2] => stdClass Object

(

[position] => 3

[changes] => 1

[changes_type] => 0

[artist] => owl city

[title] => fireflies

[vote] => 10

)

......

Pats kods - http://paste.php.lv/...6c4e11?lang=php

 

Kā jūs novērtētu šo veikumu? Darbs tika paveikts 15 minūtēs.

Esmu nolēmis uzsākt veidot līdzīgus kodus un publicēt tos php.lv lai palīdzētu jaunajiem programmētājiem, varbūt arī vecajiem.

Link to comment
Share on other sites

:D:D:D

sākšu ar kritiku

 

kods patiešām strādā, taču tā kā jebkuru kodu izpildu pie

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

tad pirmais, ko ieraudziju bija tūkstošiem šādu paziņojumu

Notice: Undefined offset: 0 in E:\www\b.php on line 66

Notice: Undefined offset: 1 in E:\www\b.php on line 66

Notice: Undefined offset: 2 in E:\www\b.php on line 66

Notice: Undefined offset: 3 in E:\www\b.php on line 66

...
...
...

Notice: Undefined offset: 371 in E:\www\b.php on line 66

Notice: Undefined offset: 371 in E:\www\b.php on line 67

Notice: Undefined offset: 371 in E:\www\b.php on line 68

Notice: Undefined offset: 371 in E:\www\b.php on line 69

mani ieteikumi

1) veltīt vairāk par 15x minūtēm skriptam, ko tu publicē

2) limitē outputu. parādi kaut vai pirmos 10x ierakstus, nevis all (tā taču ir tikai demonstrācija, nevis datu dumps)

3) turpmākos šādus koda fragmentus ieliec funkcijā ar dažiem biežāk lietojamajiem argumentiem

4) atsevišķas funkcijas posto šajā topikā http://php.lv/f/topic/15423-noderigas-funkcijas/

 

tā jau savādāk šis ir ļoti labs piemērs. tikai nevajag tik ļoti steigties. nav jau programmēšanas olimpiāde, lai iekļautos kkādā laika limitā ;)

Link to comment
Share on other sites

Heh :) paldies par kritiku.

Steigties nekur nesteidzos, laika ziņā šis diezgan ātri sanāca

 

1) ideja

2) izstrādes process, funkciju izvēle

3) testēšana (bez error_reporting;))

4) publicēšana

 

Tiešām prieks ka nopazorēji mani :P parasti tak error_reportingus pats lieku - kam negadās.

Link to comment
Share on other sites

Es gribētu ieteikt, moš pievienot kaut kādu kešošanas iespēju, lai advancētie ehr admini nesāk ievērot konkrētas ip adrese, kas veic nepārtrauktus pieprasījumus ;))

un arī performance uzlabotos...

 

		$result = array();
	$path = "ehr_tops.txt";
	$update_interval = 300; // 5 minūtes

	$stat = stat($path);
	$last_mod = (int)$stat[9];
	$delta_time = time() - $last_mod;
	if($delta_time > $update_interval){ // vai pagājis expire laiks

		/*
			te notiek topa iegūšana un ierakstīšana masīvā $result
		*/

		file_put_contents(serialize($result),$path);
	}else{
		$result = unserialize(file_get_contents($path));
	}

Edited by briedis
Link to comment
Share on other sites

Jaunāka versija - :)

http://paste.php.lv/c26b16e225630455831460c0e8b4a9bd?lang=php

 

 

dati glabājas cache failā (php failā, jo tas paātrina processu ja cache failu var inklūdot un uzreiz bez liekām apstrādēm lietot kā stringu)

kad tiek pārsniegts laika limits 1 cache failam, tas tiek pārdēvēts tā (izveides) datumā un tiek sapumpēts jaunais saraksts un noglabāts.

 

tukšo kodu pārtaisiju par oop, jo būs vieglāk kko uzlabot, kā arī funkcijas!! Funkcijas! :)

 

 

 

Kritika? :) Atsauksmes?

Edited by EdgarsA
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

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

Loading...
×
×
  • Create New...