PHP .net

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Ohjee

    Also...
    1. Warum sollte jemand sein PHP Webspace wechseln nur weil er vll. ein paar Vorteile von .Net möchte?
    2. Es gibt sicherlich auch Leute die sich kein Windows Server leisten können. Und ich hab nie dagegen etwas gesagt das man gleich alles in PHP entwickeln kann. Klar... Man kann auch mit dem Framework gleich alles in PHP entwickeln... Trotzdem werden einige Sachen durch das Framework einfacher.


    Naja... Wie dem auch sei... Trotz das die Mehrheit keinen Sinn sieht Hab ich weiter daran programmiert.

    PHP-Code:
    <?

    //##### PHP .net Framework #####
    include('System');
    include('System.Collections.Generic');
    include('System.ComponentModel');
    include('System.Data');
    include('System.Drawing');
    include('System.Text');
    include('System.Windows.Forms');

    //##### Programm klasse #####
    class Form1 extends Form
    {
        
        //Variablen
        private static $button1;
        private static $button2;
        private static $button3;
        private static $button4;
        private static $label1;
        private static $textBox1;
        private static $textBox2;
        private static $textBox3;
        
        
        function InitializeComponent()
        {
            $this->button1 = new Button();
            $this->label1 = new Label();
            $this->textBox1 = new TextBox();
            $this->textBox2 = new TextBox();
            $this->textBox3 = new TextBox();
            $this->button2 = new Button();
            $this->button3 = new Button();
            $this->SuspendLayout();

            // button1
            $this->button1->Location = new Point(206, 66);
            $this->button1->Name = "button1";
            $this->button1->Size = new Size(113, 20);
            $this->button1->TabIndex = 0;
            $this->button1->Text = "button1";
            $this->button1->UseVisualStyleBackColor = true;
            $this->button1->Click = new EventHandler('$this->button1_Click');
            
            // label1
            $this->label1 = new Label();
            $this->label1->Location = new Point(12, 9);
            $this->label1->Name = "label1";
            $this->label1->Size = new Size(307, 54);
            $this->label1->TabIndex = 1;
            $this->label1->Text = "label1";

            // textBox1
            $this->textBox1->Location = new Point(12, 66);
            $this->textBox1->Name = "textBox1";
            $this->textBox1->Size = new Size(188, 20);
            $this->textBox1->TabIndex = 2;

            // textBox2
            $this->textBox2->Location = new Point(12, 92);
            $this->textBox2->Name = "textBox2";
            $this->textBox2->Size = new Size(188, 20);
            $this->textBox2->TabIndex = 3;

            // textBox3
            $this->textBox3->Location = new Point(12, 118);
            $this->textBox3->Name = "textBox3";
            $this->textBox3->Size = new Size(188, 20);
            $this->textBox3->TabIndex = 4;

            // button2
            $this->button2->Location = new Point(206, 92);
            $this->button2->Name = "button2";
            $this->button2->Size = new Size(113, 20);
            $this->button2->TabIndex = 5;
            $this->button2->Text = "button2";
            $this->button2->UseVisualStyleBackColor = true;
            $this->button2->Click = new EventHandler('$this->button2_Click');

            // button3
            $this->button3->Location = new Point(206, 118);
            $this->button3->Name = "button3";
            $this->button3->Size = new Size(113, 20);
            $this->button3->TabIndex = 6;
            $this->button3->Text = "button3";
            $this->button3->UseVisualStyleBackColor = true;
            $this->button3->Click = new EventHandler('$this->button3_Click');

            // button4
            $this->button4 = new Button();
            $this->button4->Location = new Point(206, 160);
            $this->button4->Name = "button4";
            $this->button4->Size = new Size(113, 20);
            $this->button4->TabIndex = 0;
            $this->button4->Text = "Back";
            $this->button4->UseVisualStyleBackColor = true;
            $this->button4->Click = new EventHandler('$this->button4_Click');
            $this->Controls->Add($this->button4);

            // Form1
            $this->Controls->Add($this->button3);
            $this->Controls->Add($this->button2);
            $this->Controls->Add($this->textBox3);
            $this->Controls->Add($this->textBox2);
            $this->Controls->Add($this->textBox1);
            $this->Controls->Add($this->label1);
            $this->Controls->Add($this->button1);
            $this->Name = "Form1";
            $this->Text = "Form1";
            $this->ResumeLayout(false);
            $this->PerformLayout();

        }
        
        //##### Events #####
        function button1_Click($sender, $e)
        {
            $this->label1->Text = $this->textBox1->Text;
            $this->label1->ForeColor = Color::Black;
            $this->label1->BackColor = Color::Transparent;
        }
        
        function button2_Click($sender, $e)
        {
            $this->label1->Text = $this->textBox1->Text;
            $this->label1->ForeColor = Color::Green;
            $this->label1->BackColor = Color::MediumTurquoise;
            $this->textBox2->Text = "Danke!";
        }
        
        function button3_Click($sender, $e)
        {
            $this->button4->Visible = true;
            $this->button1->Text = "1";
            $this->button2->Text = "2";
            $this->button3->Text = "3";
        }
        
        function button4_Click($sender, $e)
        {    
            $this->button4->Visible = false;
            $this->button1->Text = "button1";
            $this->button2->Text = "button2";
            $this->button3->Text = "button3";    
        }
        
    }

    //Programm starten
    Application::run('Form1');

    ?>
    Das Eventsystem ist jetzt besser als Vorher... Hat aber noch einige änderungen vor sich ^^

    Also ich finds recht einfach... paar Elemente setzen... denen ein paar Events zuweißen und fertig.

    mfg.
    FlowPX2

    Kommentar


    • #17
      Hast du vielleicht irgendwas, wo man mal reinschauen kann??

      Kommentar


      • #18
        PHP-Code:
         $this->button1->Click = new EventHandler('$this->button1_Click'); 
        Löst du das mit eval auf?

        Wäre
        PHP-Code:
         $this->button1->Click = new EventHandler(array($this,'button1_Click')); 
        Nicht angemessener.

        oder einfach nur:
        PHP-Code:
         $this->button1->Click = new EventHandler($this,'button1_Click'); 
        So könnte das Ereignis auch von einer anderen Klasse verarbeitet werden. Selbst statischen Methoden könnte damit verwendung finden.

        Ansonsten, ist $this da so überflüssig
        Zuletzt geändert von combie; 17.10.2007, 20:36.
        Wir werden alle sterben

        Kommentar


        • #19
          Hi

          @combie:
          ja hast recht ^^ Das lös ich mit eval auf...
          hmm... Die Methode mit dem Array find ich interessant... vll. sollte ich da noch einmal überlegen.

          @PHP-Desaster:
          Definiere reinschauen ^^... Source Beispiele? Download von allem? Beispiele auf der Homepage?

          Also ich wollte ein Beispiel auf mein Webspace setzen... bis ich gemerkt habe dieser kann nur PHP 4.2.2 oder so... Und da lief das mal überhaupt nicht ^^
          Entweder muss ich das kompatibel zu PHP 4 machen... oder...

          Welche PHP versionen nutzt ihr? Ist PHP 5 jetzt langsam gängig beim Webspace mieten?

          mfg.
          FlowPX2

          Kommentar


          • #20
            PHP5 ist gängig beim Programmieren und wer auf etwas älterem neue Projekte aufsetzt sollte geschlachtet werden.

            Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

            bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
            Wie man Fragen richtig stellt

            Kommentar


            • #21
              Du wirst gerade Opfer deiner eigenen Argumentation: Du mußt für dein Framework den Webspace wechseln. Genau das soll das FW doch vermeiden?


              Schluß mit lustig.

              Mit COM kann man .Net-Code in PHP einbinden.
              Mit Phalanger kann man PHP-Code zu MSIL kompilieren und in der CLR ausführen.

              Vielleicht hast du Recht und die Welt sehnt sich nach der Möglichkeit, .Net-Code in einer PHP-Umgebung ausführen zu können. Aber dein Ansatz ist dennoch fürn Eimer!
              Denn mit deinem Framework kannst du
              - nur einige syntaktische Unterschiede zwischen C# und PHP ausgleichen und
              - nur begrenzt eine .Net-Umgebung simulieren (Bibliotheken nachbauen).

              Du kannst nicht
              - das Verhalten von C#-Anwendungen nachbauen,
              - die Eigenarten von PHP völlig verstecken,
              - den Workflow ändern (PHP wird interpretiert, nicht kompiliert),
              - die Domäne verschleiern (im Web sind Anwendung und GUI nur durch Request/Response gekoppelt).

              Das geht nur mit einer PHP-Extension, die MSIL im PHP-Interpreter laufen läßt. Versuche dich lieber daran.

              Kommentar


              • #22
                Welche PHP versionen nutzt ihr?
                Alle !

                Im Augenblick habe ich
                4.3.4
                4.4.7
                5.1.1
                5.2.4
                6.0.DEV
                im Einsatz oder zumindest für Testläufe installiert.
                Wir werden alle sterben

                Kommentar


                • #23
                  Definiere reinschauen ^^... Source Beispiele? Download von allem? Beispiele auf der Homepage?
                  Jap, alles drei

                  Entweder muss ich das kompatibel zu PHP 4 machen... oder...
                  Kompatibel würd ichs nicht machen (siehe nächster Abschnitt).

                  Welche PHP versionen nutzt ihr? Ist PHP 5 jetzt langsam gängig beim Webspace mieten?
                  Version 5 ist für neue Projekte Standard. Version 4 in neuen Projekten zu Supporten halte ich für überflüssig. Welcher Hoster bis heute nicht auf 5 gezogen hat oder wenigstens einen Umzug angeboten hat, hat wahrscheinlich zu wenig Ahnung!

                  Kommentar


                  • #24
                    Entweder muss ich das kompatibel zu PHP 4 machen... oder...
                    Oder ich leih dir ein paar MB auf meinem Webspace
                    Bis du deinen Provider auf Trab gebracht hast.
                    4.2.2 ist nun wirklich sooo alt, dass man den Provider vierteilen sollte

                    Wenn das kein closed Source Projekt wird, könnte man darüber reden.
                    Zuletzt geändert von combie; 20.10.2007, 12:09.
                    Wir werden alle sterben

                    Kommentar

                    Lädt...
                    X