Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  PHP5 OOP küsimused märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
mine lehele eelmine  1, 2, 3, 4
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 29.04.2010 21:54:12 vasta tsitaadiga

no zend framework lihtsalt andmebaasiga suhtlemiseks vist oleks liiast... kui sa nüüd seda mõtlesid
_________________
Hinnavaatlus ei ole koht arvamuse avaldamiseks!
Kommentaarid: 51 loe/lisa Kasutajad arvavad:  :: 1 :: 3 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
iceincube
HV veteran
iceincube

liitunud: 18.11.2005




sõnum 29.04.2010 22:46:11 vasta tsitaadiga

eks ta mõnes mõttes õige ole..
Ma toon sulle näite, kui tahad proovida...


//config fail
$dbCongig = array(
   'adapter' => 'Pdo_Mysql',
   'logindata' => array(
      'host'     => 'localhost',
      'username' => '',
      'password' => '',
      'dbname'   => ''
   ),
);

//bootstrap
set_include_path( '/usr/local/lib/ZendFramework/library' . PATH_SEPARATOR . get_include_path() );

require_once 'Zend/Db.php';
require_once 'Zend/Db/Table.php';
require_once 'Zend/Registry.php';
require_once 'Zend/Db/Table/Abstract.php';

$db = Zend_Db::factory($dbCongig['adapter'], $dbCongig['logindata']);
$db->query("SET NAMES 'utf8'");
Zend_Db_Table_Abstract::setDefaultAdapter($db);


//see osa kontrollerisse
$tTable = new Zend_Db_Table('minutabel'); //loome tabeli objekti

$data = array(
   'date_inserted' => date('Y-m-d H:i:s')
);
$id = $tTable->insert( $data ); //sisestame uue rea

if($id){
   echo 'inserted: ' . $id;
}


baasis peaks siis olema tabel nimega 'minutabel' väljaga 'date_inserted' ja mingi primary auto incremental key


viimati muutis iceincube 30.04.2010 00:49:51, muudetud 1 kord
Kommentaarid: 39 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 37
tagasi üles
vaata kasutaja infot saada privaatsõnum
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 29.04.2010 23:28:57 vasta tsitaadiga

ma kunagi midagi postitasin kah siia, aga hetkel olen kirjutanud selle klassi andmebaasiga suhtlemiseks:

php:
  1. <?php
  2. class MysqlDB {
  3.   private $link;
  4.  
  5.   function __construct() {
  6.     $this->open_connection();
  7.   }
  8.  
  9.   public function open_connection() {
  10.     if(@!$this->link = mysql_connect(SQL_HOST, SQL_USER, SQL_PASS)) {
  11.       die('Mysql connect error: ' . mysql_error());
  12.     } elseif(!mysql_select_db(SQL_DB, $this->link)) {
  13.       die('Mysql select database error: ' . mysql_error());
  14.     }
  15.   }
  16.  
  17.   public function query($query) {
  18.     if($result = mysql_query($query, $this->link)) {
  19.       return $result;
  20.     } else {
  21.       $error_msg  = 'Mysql fatal error: ' . mysql_error() . '<br>';
  22.       $error_msg .= 'Last query: ' . $query;
  23.       die($error_msg);
  24.     }
  25.   }
  26.  
  27.   public function fetch_array($result) {
  28.     return mysql_fetch_array($result);
  29.   }
  30.  
  31.   public function fetch_assoc($result) {
  32.     return mysql_fetch_assoc($result);
  33.   }
  34.  
  35.   private function sformat($arg_list) {
  36.     $query = array_shift($arg_list);
  37.    
  38.     foreach($arg_list as $arg) {
  39.       $new_list[] = $this->escape_value($arg);
  40.     }
  41.    
  42.     $string = vsprintf($query, $new_list);
  43.    
  44.     return $string;
  45.   }
  46.        
  47.   public function squery() {
  48.     $query = $this->sformat(func_get_args());
  49.                
  50.      return $this->query($query);
  51.   }
  52.  
  53.   public function insert_id() {
  54.     return mysql_insert_id($this->link);
  55.   }
  56.  
  57.   public function affected_rows() {
  58.     return mysql_affected_rows($this->link);
  59.   }
  60.  
  61.   public function num_rows($result) {
  62.     return mysql_num_rows($result);
  63.   }
  64.  
  65.   public function escape_value($value) {
  66.     return mysql_real_escape_string($value);
  67.   }
  68.  
  69.   public function count_rows_from_table($table) {
  70.     $result = $this->query("select count(*) from " . $table);
  71.     $count = array_shift($this->fetch_array($result));
  72.    
  73.     return $count;
  74.   }
  75. }
  76. ?>


$id = 7;
$db = new MysqlDB;
$result = $db->squery("select name from tabel where id='%s'", $id);


ehk kellelegi abiks...

_________________
Hinnavaatlus ei ole koht arvamuse avaldamiseks!
Kommentaarid: 51 loe/lisa Kasutajad arvavad:  :: 1 :: 3 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
morgoth
HV kasutaja
morgoth

liitunud: 14.01.2004




sõnum 30.04.2010 00:06:45 vasta tsitaadiga

IMO DB klassil võiks ka mingi error handling olla. Hea kuskile logisse salvestada, kui midagi nihu läheb, või transaktsioonile rollbacki teha.

Zend_Db_Table abil annab suht hästi table data gateway patterni kasutada: Extendid oma klassi sellest ning pärast on väga mugav andmeid muuta/lisada:

$data = $this->createRow();
$data->username  = 'username';
$data->save();

Suht win ju.
Kommentaarid: 11 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 10
tagasi üles
vaata kasutaja infot saada privaatsõnum
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 30.04.2010 01:08:47 vasta tsitaadiga

mul endal selline süsteem tehtud. aga alates PHP 5.3 late static bindinguga... kus siis esimine klass sisaldab funktsioone, ja teine siis extendib teda kus ma kirjeldan ära siis tabeli nime ja vajadusel siis custom funktsioonid. saab samuti teha näiteks:

$page = Pages::find_by_id(4);
$page->name = 'uus nimi';
$page->save();

uus kanne oleks siis
$page = new Pages;
$page->save();

<?php
class Pages extends DatabaseObject {
  protected static $table_name = DB_PAGES;
}
?>

_________________
Hinnavaatlus ei ole koht arvamuse avaldamiseks!
Kommentaarid: 51 loe/lisa Kasutajad arvavad:  :: 1 :: 3 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 28.05.2010 10:13:36 vasta tsitaadiga

kas keegi viitsiks mulle seletada, mis point on abstract classidel. ma siin vaatasin manuali, kuid ei saa pihta, miks neid vaja on...
_________________
Hinnavaatlus ei ole koht arvamuse avaldamiseks!
Kommentaarid: 51 loe/lisa Kasutajad arvavad:  :: 1 :: 3 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Ho Ho
HV Guru
Ho Ho

liitunud: 16.02.2002




sõnum 28.05.2010 17:11:15 vasta tsitaadiga

Kui üldised OO põhimõtted selged ei tohiks aru saamine väga keerukas olla, kui ei ole selged siis pole vist eriti mõtet isegi üritada selgitada.


Sisuliselt abstraktne klass on selline klass, mida otseselt kusagil ei kasutata, see on ette nähtud ainult extendimiseks teiste klasside poolt. A'la midagi sellises stiilis (pseudokood c++ baasil):


abstract class Shape {
  Type type();
  int numPoints();
};

class Triangle extends Shape {
  Type type() {
    return Type::Triangle;
  }
  int numPoints() {
   return 3;
  }
};
class Square extends Shape {
  Type type() {
    return Type::Square;
  }
  int numPoints() {
   return 4;
  }
};

Edaspidi kirjutad koodi, mis tegeleb kõiksugu kujunditega siis kasutad üldiste operatsioonide jaoks abstraktset baasklassi ning saad endiselt kasutada kõiki sellest tuletatud klasside funktsioone. Baasklassi ennast ei saa otse luua. Koos kompilaatori poolt tehtavate lisakontrollidega peaks see tagama, et kõik abstraktses klassis defineeritud funktsioonid on kõigis sellest tuletatud klassides implementeeritud.

Alternatiivselt võib abstraktseid klasse ka interface'ks kutsuda, kui mälu ei peta siis Javas seda tehaksegi.

_________________
Teach a man to reason and he'll think for a lifetime
Common sense - so rare that it's a damn superpower
Vaadates paljude inimeste sõnavõtte siin ja mujal jääb üle ainult klassikuid tsiteerida - "I weep for humanity"
Kommentaarid: 106 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 86
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Fukiku
Kreisi kasutaja
Fukiku

liitunud: 06.11.2003




sõnum 28.05.2010 17:45:39 vasta tsitaadiga

Ho Ho kirjutas:
Alternatiivselt võib abstraktseid klasse ka interface'ks kutsuda, kui mälu ei peta siis Javas seda tehaksegi.
Päris nii lihtne see ei ole, Java kontekstis on olemas nii liidesed (interface) kui abstraktsed klassid. Liidesed defineerivad ära portsu meetodeid millele antud liidest realiseeriv klass peab andma sisu. Abstraktne klass on klass, milles on meetodeid, mis on realiseerimata (e. puudub sisu) ja vajavad alamklassis realiseerimist ning meetodid, mis on juba realiseeritud (sisu on olemas). Liides on seega mõistlik kasutada mingi klassi omaduste kirjeldamiseks ja jätta realisatsioon täielikult arendaja teha, abstraktne klass juhul, kui sa soovid osa klassi omadustest ise ära realiseerida ning osa jätta arendajale tegemiseks. Tegin ka mingi pisikese Java põhise näite, mis ehk aitab ka üldisemas plaanis pärilusest ja muust seonduvast aru saada. Loodud on siis liides Loom, abstraktne klass Imetaja, mis defineerib ära midagi, mis on kõigil imetajail ühine ning konkreetne klass Kass, mis realiseerib kõik nõutud meetodid et tagada Loom'ale vajalik käitumine.
java:
  1. interface Loom {
  2.   int leiaJalgadeArv();
  3.  
  4.   String teeHäält();
  5.  
  6.   boolean sööLoom(Loom ohver);
  7.  
  8.   boolean sööTaim(Taim ohver);
  9. }
  10.  
  11. abstract class Imetaja implements Loom {
  12.  
  13.   // määrame sisu ainult ühele meetodile, sest tegemist on abstraktse klassiga
  14.   // me ei pea kõike ise tegema
  15.   public int leiaJalgadeArv() {
  16.     // sest kõigil imetajail on neli jalga
  17.     return 4;
  18.   }
  19.  
  20. }
  21.  
  22. class Kass extends Imetaja {
  23.  
  24.   // siin realiseerime kõik, mis vaja, aga jalgade arvu uuesti tegema ei pea
  25.   // see on Imetaja abstraktses klassis juba tehtud.
  26.   // ühtlasi on ka see klass kasutatav igal pool kui Loom, sest läbi Imetaja
  27.   // pärib ta Looma omadused
  28.  
  29.   public boolean sööLoom(Loom ohver) {
  30.     // kass sööb teisi loomi
  31.     return true;
  32.   }
  33.  
  34.   public boolean sööTaim(Taim ohver) {
  35.     // taimi ei söö
  36.     return false;
  37.   }
  38.  
  39.   public String teeHäält() {
  40.     return "mjäu";
  41.   }
  42.  
  43. }

_________________
Foxic is just a simple fox
Enne kui sa küsid oma küsimuse - küsi seda vannipardilt! Rangelt soovitatav enne programmeerimise alafoorumisse uue teema tegemist.
Kommentaarid: 2 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 2
tagasi üles
vaata kasutaja infot saada privaatsõnum
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 28.05.2010 18:55:39 vasta tsitaadiga

ka php-s on olemas interfaced...
_________________
Hinnavaatlus ei ole koht arvamuse avaldamiseks!
Kommentaarid: 51 loe/lisa Kasutajad arvavad:  :: 1 :: 3 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
telefoon
HV vaatleja

liitunud: 05.05.2003




sõnum 29.05.2010 12:54:17 vasta tsitaadiga

Abstract class'i kasutamiseks peab tegema sellele alamklassi. Üks alamklass aga ei saa extendida mitut ülemklassi.
Interface'ga on aga nii, et üks klass võib implementeerida mitmeid interface'e. Selles mõttes on interface palju dünaamilisem.
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum
blinx
HV vaatleja

liitunud: 28.11.2009




sõnum 29.05.2010 20:12:57 vasta tsitaadiga

Ei ole tõesti kiiruse vahet abstraktklasside meetoditel ja tavalistel.
_________________
'Just buy everything then you're safe'


viimati muutis blinx 31.05.2010 00:20:21, muudetud 2 korda
tagasi üles
vaata kasutaja infot saada privaatsõnum
Ho Ho
HV Guru
Ho Ho

liitunud: 16.02.2002




sõnum 29.05.2010 23:17:56 vasta tsitaadiga

blinx kirjutas:
Minuarust pole mõtet abstraktklasse ilmaasjata kasutada. Kui õigesti mäletan siis kaasneb sellega käitusaegne töötlusaja

pikenemine igas keeles.
Ei tohiks olla mingist otsast keerulisem, kui hariliku klassi extendimine. Abstraktse klassi otse loomise kontroll tehakse ära kompileerimise ajal.
_________________
Teach a man to reason and he'll think for a lifetime
Common sense - so rare that it's a damn superpower
Vaadates paljude inimeste sõnavõtte siin ja mujal jääb üle ainult klassikuid tsiteerida - "I weep for humanity"
Kommentaarid: 106 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 86
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 29.05.2010 23:38:58 vasta tsitaadiga

kas oleks võimalik saada klassi nimi ilma namespaceta kätte?

php:
  1. <?php
  2. //PHP 5.3.x
  3. namespace some\where;
  4.  
  5. abstract class ParentClass {
  6.   public static function name() {
  7.     return strtolower(get_called_class());
  8.   }
  9.  
  10.   public static function get_name() {
  11.     echo 'name: ' . static::name();
  12.   }
  13. }
  14.  
  15. class ChildClass extends ParentClass {
  16. }
  17.  
  18. ChildClass::get_name();
  19. ?>


tulemus mis ma tahan: childclass
tulemus mille saan: some\where\childclass

ja kas kuidagi saaks selle name() statilisse muutujasse kui ainult staatiline meetod on väljakutsutud?

edit: krt nüüd hakkasin ise mõtlema selle muutujasse saamise üle. sel juhul peaks nagu __construct käivituma kui statiline meetod välja kutsutakse... aga seda ju ei saagi juhtuda

_________________
Hinnavaatlus ei ole koht arvamuse avaldamiseks!
Kommentaarid: 51 loe/lisa Kasutajad arvavad:  :: 1 :: 3 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 30.05.2010 15:44:31 vasta tsitaadiga

morgoth kirjutas:
IMO DB klassil võiks ka mingi error handling olla. Hea kuskile logisse salvestada, kui midagi nihu läheb, või transaktsioonile rollbacki teha.


mida sa selle all mõtled?

_________________
Hinnavaatlus ei ole koht arvamuse avaldamiseks!
Kommentaarid: 51 loe/lisa Kasutajad arvavad:  :: 1 :: 3 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Fukiku
Kreisi kasutaja
Fukiku

liitunud: 06.11.2003




sõnum 30.05.2010 23:56:23 vasta tsitaadiga

keevitaja kirjutas:
morgoth kirjutas:
IMO DB klassil võiks ka mingi error handling olla. Hea kuskile logisse salvestada, kui midagi nihu läheb, või transaktsioonile rollbacki teha.


mida sa selle all mõtled?
Milline osa arusaamatuks jääb, et mitte tervet maad ja ilma lahti seletada?
_________________
Foxic is just a simple fox
Enne kui sa küsid oma küsimuse - küsi seda vannipardilt! Rangelt soovitatav enne programmeerimise alafoorumisse uue teema tegemist.
Kommentaarid: 2 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 2
tagasi üles
vaata kasutaja infot saada privaatsõnum
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 31.05.2010 00:24:54 vasta tsitaadiga

icon_biggrin.gif põmst kogu see jutt. ehk siis mingeid erroried see klass ju vajadusel kuvab. kas oleks pigem passlikum need errorid kuhugi muutujasse panna? mida tähendab transaktsioonile rollback...
_________________
Hinnavaatlus ei ole koht arvamuse avaldamiseks!
Kommentaarid: 51 loe/lisa Kasutajad arvavad:  :: 1 :: 3 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
raido357
HV veteran

liitunud: 26.09.2002




sõnum 31.05.2010 06:30:49 vasta tsitaadiga

keevitaja kirjutas:
... mida tähendab transaktsioonile rollback...


Seda, et enne enne kui lõplikult andmed andmebaasi kirjutatakse on võimalik seda tühistada.

A'la teed mingise INSERTI aga siis juhtub järgmises rakenduse faasis midagi ja siis saad tegevuse katkestada ja andmebaasist kah andmed kustutada, kasutades ROLLBACK käsku. Mitte ei pea hakkama DELETE statementi tekitama.

http://www.databasejournal.com/features/mysql/article.php/3382171/Transactions-in-MySQL.htm
Kommentaarid: 78 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 70
tagasi üles
vaata kasutaja infot saada privaatsõnum
Le Inc
HV Guru
Le Inc

liitunud: 06.09.2002



Autoriseeritud ID-kaardiga

sõnum 31.08.2011 07:56:10 vasta tsitaadiga

Küsimus. Kas objekti meetoditest saab kuidagi "väljundit" kätte ilma return'ita. Ehk on meetod (funktisioon) mis teeb midagi tarka, kuid vahel võib ka viga tulla mis try ja catch kinni püütakse. Kui ma "echo" kirjutan siis see pritsitakse html, AGA tahaks kuskile muutujasse susata ja koodis "õiges kohas" uuesti välja lasta. Ainuke hetkel töötav variant on return susata ja sealt a la echo $klass->TereTore(); (// samal ajal käivitatakse funktsioon) kätte saada.

Kas saaks kuidagi teistmoodi ka?
Kommentaarid: 56 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 54
tagasi üles
vaata kasutaja infot saada privaatsõnum
jnt
HV Guru
jnt

liitunud: 10.05.2005



Autoriseeritud ID-kaardiga

sõnum 31.08.2011 07:58:43 vasta tsitaadiga

& märk pane funktsiooni/meetodi argumendi ette. Siis muutes seda sees pool funktsiooni/meetodit muutub ka väljas pool see sama muutuja sisu. Lisaks olemas $_GLOBALS ja lihtsalt muutujate globaalseks tegemine.
_________________
Progemisest: https://byteaether.github.io/
Seisab keldris vana 386-486-Pentium1? Räägime! Ehk saan vanakesele uue elu anda. icon_wink.gif
Vaata siia, äkki müün midagi põnevat -> https://www.osta.ee/index.php?fuseaction=listing.seller&q[seller]=jnt
Kommentaarid: 110 loe/lisa Kasutajad arvavad:  :: 2 :: 0 :: 102
tagasi üles
vaata kasutaja infot saada privaatsõnum
Le Inc
HV Guru
Le Inc

liitunud: 06.09.2002



Autoriseeritud ID-kaardiga

sõnum 31.08.2011 08:09:59 vasta tsitaadiga

jnt kirjutas:
& märk pane funktsiooni/meetodi argumendi ette. Siis muutes seda sees pool funktsiooni/meetodit muutub ka väljas pool see sama muutuja sisu. Lisaks olemas $_GLOBALS ja lihtsalt muutujate globaalseks tegemine.

Tänud proovin järgi.

Heh, leidsin just ka lahenduse. Tuleb uus meetod teha mis lihtsalt tagastab väärtuse.

function annaViga () {
return $this->error;
}

hiljem koodis echo $klass->annaViga();
Kommentaarid: 56 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 54
tagasi üles
vaata kasutaja infot saada privaatsõnum
jnt
HV Guru
jnt

liitunud: 10.05.2005



Autoriseeritud ID-kaardiga

sõnum 31.08.2011 08:13:09 vasta tsitaadiga

Le Inc, muidugi saad klassis olevaid property'eid funktsiooni sees kasutada. Vaata ainult, et siis korraliku koodi mõistes klassis nood property'd ära ka defineerid.

Errorite jaoks võiks üldse üks staatiline error klass olla või veel enam, tee enda error handler ja siis lihtsalt trigger'dad erroreid ja su enda klass püüab nad kinni ja teeb, mida vaja.

_________________
Progemisest: https://byteaether.github.io/
Seisab keldris vana 386-486-Pentium1? Räägime! Ehk saan vanakesele uue elu anda. icon_wink.gif
Vaata siia, äkki müün midagi põnevat -> https://www.osta.ee/index.php?fuseaction=listing.seller&q[seller]=jnt
Kommentaarid: 110 loe/lisa Kasutajad arvavad:  :: 2 :: 0 :: 102
tagasi üles
vaata kasutaja infot saada privaatsõnum
Le Inc
HV Guru
Le Inc

liitunud: 06.09.2002



Autoriseeritud ID-kaardiga

sõnum 31.08.2011 08:30:16 vasta tsitaadiga

Põmst trein üht klassi mis SOAP kaudu majandaks mobiil-id. Hetkel on plaanis piirduda ainult autentimisega, signeerimine jääb kunagi tulevikku, kui mul endal tekib selle järgi otsene vajadus.

Veakoodid mis tekivad SOAP päringust kutsuvad php Fatal Error'i välja (milleks!?). Ilma try ja catch jääks kood kinni. Hetkel olen veamajanduse array ära lahendanud (catch püüab SoapFault veastringi kinni), kus vastavale veakoodile on masiivis ka "tõlge".

Vististi on SK ka sarnasest koodist huvitatud (nende näide on PEAR põhine). Võimalik kui koodi valmis saan panen siisa üles, saate suuremad OOP kunnid üle kaeda (see mul esimene OOP moodi progemine). hetkel väga ei julge avalikult turule minna. icon_biggrin.gif
Kommentaarid: 56 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 54
tagasi üles
vaata kasutaja infot saada privaatsõnum
Erti-Chris
HV vaatleja
Erti-Chris

liitunud: 23.07.2011




sõnum 31.08.2011 11:43:07 vasta tsitaadiga

Le Inc kirjutas:
Põmst trein üht klassi mis SOAP kaudu majandaks mobiil-id. Hetkel on plaanis piirduda ainult autentimisega, signeerimine jääb kunagi tulevikku, kui mul endal tekib selle järgi otsene vajadus.

Veakoodid mis tekivad SOAP päringust kutsuvad php Fatal Error'i välja (milleks!?). Ilma try ja catch jääks kood kinni. Hetkel olen veamajanduse array ära lahendanud (catch püüab SoapFault veastringi kinni), kus vastavale veakoodile on masiivis ka "tõlge".

Vististi on SK ka sarnasest koodist huvitatud (nende näide on PEAR põhine). Võimalik kui koodi valmis saan panen siisa üles, saate suuremad OOP kunnid üle kaeda (see mul esimene OOP moodi progemine). hetkel väga ei julge avalikult turule minna. icon_biggrin.gif

http://php.net/manual/en/function.set-error-handler.php
püüab kõik errorid kinni..
Kommentaarid: 1 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 1
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  PHP5 OOP küsimused mine lehele eelmine  1, 2, 3, 4
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.