Archive for PHP – Programming, Tips and Tricks

nuSOAP og PHP5

SchemeCloud rykker i nye højder og til disse højder bliver et API(webservice) nærmeste et krav, da PHPTECH har intagrasion til både Wannafinds betalingsgateway og e-conomics ERP system er det nu på tide for PHPTECH også at få deres eget API til de kunder der ønsker det.

Til dette har der været behov for at studere nye muligheder, jeg snakkede frem og tilbage med forskellige personer og den person der hjælp mig bedst frem til det jeg måtte bruge i PHPTECH til vores API er Simon Jensen, han nævnte nuSOAP som er et biblotek til PHP der gør det muligt at binde funktioner/class.

Det vil jeg gerne have lov til i dette indlæg at takke Simon Jensen mange gange for inden jeg går vider med nogle eksempler på hvordan jer der ude kan komme hurtig igang med nuSOAP i PHP5.

Start med at lave en ny fil med navn server.php hvor du paster følge kode ind.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
include("nusoap/nusoap.php");
 
$srv = new soap_server();
$srv->register("product.GetName");
 
class product
{
	public function GetName($name)
	{
		return $name;
	}
}
 
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : "";
$srv->service($HTTP_RAW_POST_DATA);

Nu opretter du en ny fil med navn client.php og paster følgene linjer ind

1
2
3
4
include("nusoap/nusoap.php");
$soap = new nusoap_client("http://localhos/soap/server.php");
 
echo $soap->call("product.GetName",array("name"=>"produkt navn") );

Kan endnu en gang sige tak til Simon Jensen for hans venlighed – Syndes i skal besøges Simon Jensens blog her

Til dette forsøg skal du hente hele nuSOAP bibloteket som findes her på SourceForge.net

Rewriting numeric URLs – PHP

Når man lave en hjemmeside der skal være så optimert som muligt til søgemaskiner eks. Google, Yahoo og MSN Search så er det vigtig ens URL’s også være korrekte for at give den bedst mulige søge resultat fra en søgemaskines side.

Step1:
start med at lav din .htaccess fil i roden af dit PHP hjemmeside når det er gjort åbner du filen og skriver følge linje ind i .htaccess filen.

RewriteRule ^Products/C([0-9])/P([0-9])\.html$ /product.php?category_id=$1&product_id=$2 [L]

Step2:
Når du nu skriver linket i din url domain.dk/Products/C25/P876.html vil det svare til der faktisk er blevet skrevet domain.dk/product.php?category_id=25&product_id=876 men når du skriver det på den først måde vil en søgemaskine opfatte det som 1 fil og en række mapper der findes på webserveren i modsætnigne til at nummer 2 url vil svare til at en søgemaskine finder din url og ser der er 1 fil hvor der tilhøre 2 get variabler der til det kan være mere komplex for søgemaskine at gennemskure isted for bare en enkle fil + mappe struktuere derfor er det en rigtig god at gøre det sådan.

Smart methode i PHP så du undgår for mange IF til true and flase værdier

Hvis du tit sider og skal tjekke på nået om det findes eller ikke findes midt i det hele og bare ikke fatter hvorfor det skal være sådan kan jeg nemt følge dig ind til for nydlige hvor jeg opdaget og undermig over nogle koder jeg fat i det nye firma jeg er syndes jeg i første omgang inden jeg lærte hvad det var at det var total crap kode og hvorfor man ikke brugte IF statemens men spurte så min svoger omkring det og han forklaret at sådan kunne man også i andre programmerings sprog så det var ikke en dum måde at kode på men faktisk enormt smart og man spare meget tid.

sådan her ville en normal PHP kode se ud for mig før jeg lærte det at kende
[php]
if ( $row['newzlatter'] )
{
$newzlatterValue = ‘Ja’;
}
else
{
$newzlatterValue = ‘Ja’;
}

echo ‘Du har valgt at modtage nyhedsbrev: ‘. $newzlatterValue .’
‘;
[/php]

Nu hvor jeg kender det ser min IF sætningen sådan her ud
[php]
echo ‘Du har valgt at modtage nyhedsbrev: ‘. ( $row['newzlatter'] ? ‘Ja’ : ‘Nej’ ) .’
‘;
[/php]

Connect til FTP eller hent en fil/foto i PHP

Har kikket lidt rundt på nettet, da jeg sku bruge nået der kunne grabbe nogle filer/billedere fra et andet site da vi skulle overføre billedere fra et site til det nye site.

kom frem til at man faktsik kunne connecte til en FTP server hvis man vel og mærket have sti, user og password til denne konti, eller man kunne grabbe dataen dirakte fra det ene site via URL til sin root/sti på sin egen FTP server her er to eks.

Hent fil og vis på siden.
$file = file_get_contents ( “http://url.com” );

Connect til en FTP server
$file = scandir( ‘ftp://username:password@urlsti/’);

Håber i fik nået ud af disse 2 eks. ellers må i godt poste en kommentar omkring og høre hvad jeg mener naturligvis :0)