Nu ved jeg ikke hvor ny du er til PHP, startet selv med VB og C#, syndes det er både godt og skidt uden data typeing i PHP
man kan evt
- $string = "test";
- echo $string[1]; //udskriver "e" selv om det ikke er et array
jeg laver så meget som muligt i klasser/objecter så kan man selv styre sin struktur lidt bedre. (imo en god vane)
ik lige det bedste eksempel i verden, men kunne ik lige komme på et bedre
- class price {
- private $price, $currency;
- public function setPrice($int, $currency=currency::usd){
- if(!is_int($int)){
- throw new Exception("Price != int");
- }
- if(
- $currency != currency::euro
- ||
- $currency != currency::gbp
- ||
- $currency != currency::usd
- ){
- throw new Exception("Currency invalid");
- }
-
- $this->price = $int;
- $this->currency = $currency;
- }
- public function getPrice(){
- return number_format($this->price) . " ". $this->currency;
- }
- }
-
- final class currency {
- const euro = "EUR";
- const usd = "USD";
- const gbp = "GBP";
- }
-
- try{
-
- $pris = new price();
- $pris->setPrice(2400, currency::euro);
- //$pris->setPrice("gratis");
- echo $pris->getPrice();
-
- }catch(Exception $e){
-
- die($e->getMessage());
-
- }
hvis du går meget op i datatypes kan det anbefales at bruge
var_dump($var);
til at se indholdet af en var når du tester/debugger - den udskriver datatype, længde og indhold
emh lige hvad jeg kan komme, de andre har været inde på det meste
intet af den kode i dette indlæg er testet.
Indlæg senest redigeret d. 28.02.2012 16:20 af Bruger #3427