[PHP] phpversie van mijn c# database classes.

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Anoniem: 188081

Topicstarter
Ik gebruik in C# altijd de volgende type database code:

C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
namespace NL.***.DataLayer
{
    using System;
    using System.Configuration;
    using System.Data;
    using System.Data.SqlClient;
    using Microsoft.ApplicationBlocks.Data;

    public class Chemists : BaseDataAccess
    {
        public Chemists()
        {
        }

        public class Chemist
        {
            public int ID;
                    -snip-
            public bool ModDiabetes;
            public bool ModInco;
        }

        public Chemist GetChemistByID(int ID)
        {
                    // MSSQL qquery hier, deze vult de variabelen van Chemist, en returned deze.
                }


Ik instancieer (bah rotwoord) mijn classe, creer een nieuwe Chemist, en vul deze met de functie GetChemistByID.
Ik probeer nu een soortgelijke structuur in mijn php project te bouwen, alleen krijg ik het niet echt voor elkaar. De testjes die ik heb gedaan werken allemaal anders dan dat ik in C# gewend ben.
Is het mogelijk om zoiets na te maken in php? en zoja, kan iemand me een paar goeie tips geven, en evt basis voorbeeldcode?

Dank, Michel.

Acties:
  • 0 Henk 'm!

  • XWB
  • Registratie: Januari 2002
  • Niet online

XWB

Devver
Waarom lukt het niet in php? Post eens wat code zodat we zien wat je aan het doen bent.

March of the Eagles


Acties:
  • 0 Henk 'm!

Anoniem: 188081

Topicstarter
Hacku schreef op maandag 04 september 2006 @ 00:30:
Waarom lukt het niet in php? Post eens wat code zodat we zien wat je aan het doen bent.
Code (ander soort project, zelfde strekking :))

settingsdb.inc.php:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
   class Settings
   {
      // Fields
      var $ShopName;

      // Function GetSettings
      function GetSettings()
      {
         // Get shop settings. (normaal dus via mysql)
         $this->$Shopname = "BLABLA";
      }
   }


en de testpagina:

PHP:
1
2
3
4
5
6
7
8
9
10
<?php
   require_once('./includes/php/classes/settingsdb.inc.php');

   $Settings = new Settings;
   $Settings->ShopName = "ye shoppe";
   echo $Settings->ShopName . "<br>";

   $Settings->GetSettings;
   echo $Settings->ShopName . "<br>";
?>


Deze output dus in beide echo's ye shoppe.
Ik wil deze classe dus hetzelfde laten werken als de c# voorbeeld.

Dank, Michel.

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 17:33

Janoz

Moderator Devschuur®

!litemod

Heb je hier een class in een class? Php ondersteund geen inner classes. Dat gaat je dus sowieso niet lukken. Als je een dergelijke structuur wilt gebruiken, dan zul je Chemist niet als inner class moeten definieren.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • GlowMouse
  • Registratie: November 2002
  • Niet online
PHP:
1
$this->$Shopname = "BLABLA";
Dat tweede dollarteken hoort daar niet. Dat is alleen om bv. $this->blah te zetten als $Shopname de waarde 'blah' heeft. Vervangen dus door $this->Shopname = "BLABLA";

En tweede fout:
PHP:
1
$Settings->GetSettings;

vervangen door $Settings->GetSettings();

[ Voor 18% gewijzigd door GlowMouse op 04-09-2006 00:40 ]


Acties:
  • 0 Henk 'm!

Anoniem: 188081

Topicstarter
dus.. in deze file 2 classes, 1 classe met de variabelen, en 1 met de functies?
Zou je dit eens in een ultrakort voorbeeld kunnen laten zien?

Groet, Michel.

Acties:
  • 0 Henk 'm!

Anoniem: 188081

Topicstarter
@GlowMouse: Hmmm typo :)
Aangepast, maar zelfde resultaat.

Groet, Michel.
Je mag stoppen met groeten hoor ;) Wij tweakers groeten elkaar continue ;)

[ Voor 51% gewijzigd door RobIII op 04-09-2006 00:49 ]


Acties:
  • 0 Henk 'm!

  • XWB
  • Registratie: Januari 2002
  • Niet online

XWB

Devver
Misschien eerst deze even doornemen.

March of the Eagles


Acties:
  • 0 Henk 'm!

Anoniem: 188081

Topicstarter
Danku, ik hem hem door ;)
Ik ga er nog even mee experimenteren ;)
Pagina: 1