get_defined_functions ()

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Junior/medior PHP developer Onderwijssector

Functie Momenteel zijn ze op zoek naar een developer die, veelal fullstack, mee gaat werken aan de ontwikkeling van de producten en zo helpt aan de uitvoering van hun ontwikkelprojecten. Je komt te werken binnen hun development team bestaande uit 6 ontwikkelaars. Ze staan zowel open voor meer junior als medior/senior developers. Je kunt snel veel verantwoordelijkheid krijgen en doorgroeien binnen het bedrijf. Bovendien ben je betrokken bij het bepalen van de product roadmap en de inbreng van (nieuwe) technologieën. De applicaties waaraan je werk worden gebruikt op onderwijsinstellingen door heel Nederland. De tech-stack bestaat voornamelijk uit Laravel (PHP), Vue.js

Bekijk vacature »

App Developer

Samen werken aan een gezonder Nederland en toekomstbestendige zorg voor iedereen. Dat is de impact die jij kan hebben als App Developer bij VGZ. Wil jij een bijdrage leveren aan een maatschappij waarin iedereen zich thuis voelt? Bekijk dan de vacature. Uit onderzoek van Computable is VGZ verkozen tot ‘beste niet-ICT werkgever voor ICT’ers van Nederland’ Hoe ook jij het verschil maakt Als App developer werk jij aan het belangrijkste communicatiekanaal van VGZ, namelijk de App! Als App developer bij VGZ maak je onderdeel uit van een van onze App-teams. Met een goede mix van kennis en ervaring zet je

Bekijk vacature »

Full Stack Developer/ Applicatie Ontwikkelaar

Wat jij doet Als Applicatie Ontwikkelaar ben je onderdeel van het team die de Rimote omgeving ontwikkeld en onderhoud. Hierbij kan je denk aan de cloud, on premise en webapplicaties welke worden gebruikt in bijvoorbeeld industriële bakkerijen, biogasinstallaties en kwekerijen. Deze applicaties verzorgen (remote) de aansturing en monitoring van processen, machines en robots. Van a tot z ben je betrokken bij projecten. Dit betekent vanaf ontwerp tot oplevering. Je moet samen met jouw team een goed product neer zetten. Dit begint met het opzetten van het ontwerp. De basis van de software moet staan als een huis. Daarvoor moet jij

Bekijk vacature »

Software Developer Java

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

Als Lead PHP developer bijdragen aan het onderwijs

Functie Als Lead PHP developer zet je samen met het team en de andere lead developers de technische lijnen uit als het gaat om het ontwikkelen van de applicaties en bepaal je samen met de PO waar elke sprint aan gewerkt zal worden. Je kunt op basis van een user story een goede aanpak formuleren en een planning opstellen, en andere hierin meenemen. Wanneer je team code schrijft verwacht je degelijke oplossingen, bij voorkeur gebruik makend van Domain Driven Design. Je ziet toegevoegde waarde in het beoordelen van het werk van collega’s om zo samen te streven naar hoge kwaliteit

Bekijk vacature »

Java/Kotlin Developer

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET developer begint jouw dag na een bak koffie met een stand up. De vorderingen worden tijdens de stand up besproken en de doelen worden opgesteld waar jullie als team in de volgende sprint naartoe gaan werken. Onze backend is geschreven in .NET Core en onze Front-end in Angular. Bij ons ga jij dan ook Fullstack aan de slag. Jij wordt hier opgeleid om zelfstandig te kunnen programmeren en applicaties te kunnen implementeren. Er wordt op projectbasis gewerkt, dit bied leuke uitdagingen omdat elke klant een andere visie heeft over de applicatie die wij maken. Je gaat

Bekijk vacature »

PHP Software Developer

Functie omschrijving Op zoek naar een nieuwe uitdaging binnen PHP? Lees dan snel verder! Wij zoeken een ervaren PHP developer die binnen een organisatie gaat functioneren als verlengstuk van de klant. Wij zoeken voor deze iemand die technisch complexe zaken met enthousiasme en plezier aanvliegt. Verder moet je instaat zijn om je tijd goed te managen omdat je aan meerdere projecten tegelijkertijd werkt. Je werkt met de nieuwste technieken en tijdens deze uitdaging werk je veel samen met de front-end developers van deze organisatie. Wij zoeken iemand die zichzelf graag uitdaagt en altijd de beste wilt zijn. Bedrijfsprofiel Waar ga

Bekijk vacature »

Full Stack Developer

Dit ga je doen Ontwikkelen van Product Informatie Management (PIM) systemen; Werken aan zowel grotere als kleine projecten voor toonaangevende klanten binnen o.a. de retail; Verantwoordelijk voor de front-end werkzaamheden; Naast de front-end werk je ook aan de backend. Hier ga je werken Als Full Stack Developer komt je te werken binnen een vooruitstrevende organisatie die Product Informatie Management (PIM) systemen levert aan hun klanten. Hun klanten zijn toonaangevende bedrijven binnen o.a. de retail. De organisatie zit gevestigd in regio Zwolle en bestaat uit zo'n 35 medewerkers, waarvan 30 IT. Je komt te werken binnen één van de zelfsturende development

Bekijk vacature »

Java developer

Als Java Developer bij Sogeti ben je onderdeel van onze toonaangevende community die bestaat uit ruim 100 gepassioneerde Java professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze top-opdrachtgevers. Geen werkdag is hetzelfde! Je bent voortdurend bezig met het oplossen van allerlei complexe vraagstukken binnen bedrijfs kritische systemen voor onze klanten in regio Noordoost zoals DUO, ING, CJIB en Tendernet. Natuurlijk krijg jij de mogelijkheid je verder te certificeren in dit vakgebied. We organiseren regelmatig technische Meetups en doen veel aan kennisdeling. Sogetisten hebben plezier in hun werk en staan

Bekijk vacature »

Full stack developer Node.js

Functie Als fullstack JavaScript developer vind jij het uitdagend om op basis van concrete klantvragen nieuwe functionaliteiten te ontwikkelen. Bij voorkeur worden deze functionaliteiten op een bepaalde manier geprogrammeerd, zodat ze door meerdere klanten te gebruiken zijn. Je hebt dus vaak te maken met abstracte vraagstukken. Om dit te kunnen realiseren sta je nauw in contact met de product owner en/of klant. Je bent niet alleen onderdeel van het development team, maar hebt ook vaak contact met de product-owner en/of klanten om daardoor inzichten te verzamelen die leiden tot productverbeteringen. • Inzichten verzamelen bij de klant en/of product owner •

Bekijk vacature »

.NET developer WO niveau voor predictive software

Bedrijfsomschrijving Dit bedrijf uit Den Bosch is om precies te zijn 15 medewerkers groot en ze ontwikkelen (predicitve) planning software. Dit doen zij voor allerlei mooie en bekende organisaties (bierbrouwerijen, gemeentes, oliemaatschappijen en diverse multinationals). Wegens meer en grotere vraag vanuit de klanten komen er nu posities vrij voor onder andere een .NET developer. Het bedrijf is goed met openbaar vervoer te bereiken. Functieomschrijving Je komt hier te werken in een team van 3 .NET developers en bent betrokken bij het gehele ontwikkelproces. Dus van idee naar ontwerp en van ontwikkeling tot testen en implementatie. Bij voorkeur ben je niet

Bekijk vacature »

.NET Developer

Functie omschrijving In deze functie ga je werken als C# Developer. Jij gaat aan de slag met de volgende taken: Maatwerk software bouwen; Huidige softwareprojecten verder uitbouwen en optimaliseren; Ideeën van de klant omzetten naar handige oplossingen en tools; Bovenstaande doe je middels de Microsoft- stack: C#, ASP.NET en MVC/ Entity Framework. Ben je net afgestudeerd aan een HBO opleiding Informatica, aarzel dan niet om te solliciteren. Dit is namelijk de ideale startersfunctie! Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Het is van oorsprong een familiebedrijf, die gestart zijn met het bouwen van websites. Dit is door

Bekijk vacature »

In-house .NET software developer

Functie omschrijving Ben jij op zoek naar een uitdagende in-house development functie? Maak jij graag hét verschil m.b.t. interne automatisering? Haal jij energie uit het automatiseren van processen voor je eigen collega's? Dan hebben wij de perfecte vacature voor je! Voor een gezellig Brabants familiebedrijf, zijn wij op zoek naar een .NET software developer. Je gaat in deze zelfstandige functie werken aan de ontwikkeling van eigen applicaties & en het koppelen van deze applicaties aan de ingekocht software. Jouw werkzaamheden zien er als volgt uit: Het management team signaleert behoeftes vanuit de business. Vervolgens worden deze behoeftes uitgewerkt en geprioriteerd.

Bekijk vacature »

Frontend Developer - Leeuwarden

Als Frontend Developer bouw jij mee aan het onderwijs van de toekomst! In een scrum team werken met jonge en enthousiaste collega’s, moderne technieken, ruimte voor eigen ontwikkeling en op een proactieve wijze kunnen meewerken aan innovatie binnen het onderwijs. Magister is het state-of-the-art softwarepakket dat scholen in het voortgezet onderwijs op alle fronten ontzorgt. Van leerlingenadministratie tot het ondersteunen van individuele leerlijnen, van toegang tot digitaal lesmateriaal tot het plannen van het lesrooster. In de Magister app bedient Magister ruim 2,5 miljoen gebruikers waarvan, dagelijks meer dan 600.000 unieke. Hiermee is Magister de absolute marktleider in onderwijsland. Wat vragen

Bekijk vacature »
Cyberboy fdsafds

Cyberboy fdsafds

17/03/2007 11:38:00
Quote Anchor link
Ik ben bezig met een classe die classes implementeerd en aan de hand van de functie namen en argumenten een link creeerd zodat de functie kan worden aangeroepen.
Maar als ik een classe include via een __autoload functie die ik zelf heb geschreven weet ik niet hoe ik nou alle functie's eruit kan halen? Of weet iemand anders daar een slim trucje voor?

BVD,

Marcel
 
PHP hulp

PHP hulp

07/05/2024 13:12:53
 
Cyberboy fdsafds

Cyberboy fdsafds

17/03/2007 13:03:00
Quote Anchor link
ik ben al een stapje verder uiteindelijk is het mij toch gelukt om alle methoden uit een class the halen, maar nou moet ik de argumenten nog hebben. Iemand idee'en?
 
K i p

K i p

17/03/2007 13:05:00
Quote Anchor link
Misschien kan je posten wat je tot nu toe hebt. Kan ons ook op ideeën brengen.
 
Cyberboy fdsafds

Cyberboy fdsafds

17/03/2007 13:09:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
<?php
/********class structure*************************
 *
 *            userclass
 *                -logincheck
 *                -loginform
 *                -logout
 *            directoryclass
 *                -rmdir
 *                -editdir
 *                -mkdir
 *            fileclass
 *                -rmfile
 *                -editfile
 *                -mkfile
 *            builder
 *                -__construct
 *                -readclasses
 *                -stringcheck
 *                -numbers
 *                -dir
 *                -file
 *
 ************************************************/

// change this, if this code isn't "higher" than ALL classfiles

define("CLASS_DIR", dirname(__FILE__));

class builder{
    
        public $error = 0;
        
    
        public function __construct(){
            
            $this->searchclasses("/classes");
            
        }

        
        /**
         * search for clases to load
         *
         * @uses __autoload
         * @uses dir()
         * @uses getfunctions()
         * @param  $sub string
         */

        public function searchclasses($sub = "/"){
            
            $classes = array();
            $classes = $this->file(CLASS_DIR.$sub);
        
            foreach ( $classes AS $value){
                
                $functions = array();
                $class        = array();
                $this->__autoload($value);
                
                $functions = $this->getfunctions(CLASS_DIR.$sub."/".$value);
                
                foreach ($functions AS $value2){
                
                    $class[ $value2 ] = $this->get_method_arg($value, $value2);
                    var_dump($class);
                }
                
                
                
            }
            
            
        }

        
        

        public function getfunctions($file){
            /** class name is name.class.php*/
            
            $arr = file($file);
              foreach ($arr as $line)
               {

              
                   if (ereg ('function ([_A-Za-z0-9]+)', $line, $regs))
                       $arr_methods[] = $regs[1];
               }

           return $arr_methods;
            
        }

        
        public function get_method_arg($class, $function){
            $exp = explode(".", $class);
            
            return func_num_args( $exp[0]);
            
        }

        
        
        /**
         * autoload classes (no need to include them one by one)
         *
         * @uses classFolder()
         * @param $className string
         */

        public function __autoload($className) {
               $folder = $this->classFolder($className);
               
               if(file_exists($folder.$className)){
                /*MAMP BUG*/
                   $folder = str_replace("/Applications/MAMP/htdocs/", "", $folder);
                 
                   $path = $folder.$className;
               include($folder.$className);
              
               }
               
           }


        /**
         * search for folders and subfolders with classes
         *
         * @param $className string
         * @param $sub string[optional]
         * @return string
         */

        function classFolder($className, $sub = "/") {
                   $dir = dir(CLASS_DIR.$sub);
                   
                   if(file_exists(CLASS_DIR.$sub.$className))
                   return CLASS_DIR.$sub;

                   while(false !== ($folder = $dir->read())) {
                       
                   if($folder != "." && $folder != ".." && $folder != ".DS_Store") {
                       
                       if(is_dir(CLASS_DIR.$sub.$folder)) {
                           
                           $subFolder = $this->classFolder($className, $sub.$folder."/");
              
                           if($subFolder)    return $subFolder;
                                         
                       }
                       
                   }
                   
               }

               
               $dir->close();
               return false;
        }

        
        
        
        public function stringcheck(){
            
        }

        
        
        public function numbers(){
            
        }

        
        
        public function dir($dir){
            /* This function read all dir's */    
            
                $array = array();
                
                 if($handle = opendir( $dir ) )
                 {

                     
                      while ( ( $file = readdir( $handle ) ) !== false)
                      {

                          
                               if ( is_dir( $dir.$file ) )
                               {

                                  
                                       
                                               array_push( $array, $dir.$file);
                                            
                               }
                              
                         }  
                 }

                 else
                 {
                         $this->error = 2;
                         $this->print_error();
                 }
            
                 @
closedir( $dir );    
                 
                 return $array;
                     
        }

        
        
        public function file($dir){
            
                if( $handle = opendir ( $dir ) )
                    {

                            
                        $files = array();
                            
                            while ( ( $file = readdir( $handle  ) ) !== FALSE )
                            {

                                    
                                
                                if($file != '..' && $file != "." && $file != ".DS_Store"){
                                    
                                    array_push($files, $file);
                                    
                                }
                                                                                
                                
                                
                            }
                                
                        
                            
                        
                        }

                        else
                        {
                            
                            $this->error = 3;
                            $this->print_error();
                            
                        }
                        
                        @
closedir( $dir );
                
                    return $files;
            
        }

        
        
        public function print_error(){
            
            echo $this->error;
            exit();
            
        }
        
    
    
}


$obj = new  builder();


?>


er zitten nog wat var_dump en echo's tussen maar dat is alleen maar voor het debuggen
Edit:
De output is ook wel handig dacht ik zo(A) array(1) { ["rmdir"]=> int(2) } array(2) { ["rmdir"]=> int(2) ["mkdir"]=> int(2) } array(3) { ["rmdir"]=> int(2) ["mkdir"]=> int(2) ["editdir"]=> int(2) } array(1) { ["rmfile"]=> int(2) } array(2) { ["rmfile"]=> int(2) ["mkfile"]=> int(2) } array(3) { ["rmfile"]=> int(2) ["mkfile"]=> int(2) ["editfile"]=> int(2) } array(1) { ["ReadMessage"]=> int(2) } array(2) { ["ReadMessage"]=> int(2) ["EditMessage"]=> int(2) } array(3) { ["ReadMessage"]=> int(2) ["EditMessage"]=> int(2) ["AddMessage"]=> int(2) } array(4) { ["ReadMessage"]=> int(2) ["EditMessage"]=> int(2) ["AddMessage"]=> int(2) ["DeleteMessage"]=> int(2) } array(5) { ["ReadMessage"]=> int(2) ["EditMessage"]=> int(2) ["AddMessage"]=> int(2) ["DeleteMessage"]=> int(2) ["phphighlite_replace"]=> int(2) } array(6) { ["ReadMessage"]=> int(2) ["EditMessage"]=> int(2) ["AddMessage"]=> int(2) ["DeleteMessage"]=> int(2) ["phphighlite_replace"]=> int(2) ["phphighlite"]=> int(2) } array(7) { ["ReadMessage"]=> int(2) ["EditMessage"]=> int(2) ["AddMessage"]=> int(2) ["DeleteMessage"]=> int(2) ["phphighlite_replace"]=> int(2) ["phphighlite"]=> int(2) ["ubb_code"]=> int(2) }

ik heb 3 classes, GuestBook deze heeft functie's zonder argumenten, File deze heeft file handling methoden, en dus ook argumenten, directory class heeft ook argumenten, maar hij weergeeft overal int(2)
Gewijzigd op 01/01/1970 01:00:00 door Cyberboy fdsafds
 
Cyberboy fdsafds

Cyberboy fdsafds

17/03/2007 13:24:00
Quote Anchor link
ik ontdek net dat ik helemaal verkeerd loop te zoeken! Ik moet namelijk dit hebben
function test($1,$2)
eenphpfunctie(test) die een array returnd met [0]=>$1, [1]=>$2
 
Cyberboy fdsafds

Cyberboy fdsafds

17/03/2007 13:44:00
Quote Anchor link
oke, waarschijnlijk kun je de argumenten zo niet krijgen, en aangezien nog niemand gereageerd heeft neem ik aan dat jullie het ook niet weten. Dus ik ben naar een andere oplossing gaan zoeken, en in subclassfuncties worden geen waarden meegegeven, maar die worden opgehaald door $_GET of $_POST, Maar nou moet ik zorgen want ik heb een array met de class name en functie's dat als bijvoorbeeld ?class=GuestBook&func=read dat hij $obj = new Guestbook(); $obj->read doet.

BVD!
 
Jelmer -

Jelmer -

17/03/2007 14:50:00
Quote Anchor link
... en dat is dan weer niet zo moeilijk:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
$class
= $_POST['class'];
$method = $_POST['method'];

$object = new $class();

if(function_exists(array($object, $method)) {
   $object->$method();
}

?>


En een lijst van alle methods kan je wel via de Reflection API krijgen, of gewoon get_class_methods.
 
Cyberboy fdsafds

Cyberboy fdsafds

17/03/2007 16:19:00
Quote Anchor link
Wie kan mij verder helpen, want het wordt er niet beter op:S
Hij leest keurig alle bestanden uit naar classes en de functie's in de classes.
Dan zou hij moeten kijken of een classe en functie bestaat en dan aanroepen als dat zo is.
En bij het laatst deel blijf ik hangen, ojah en wie heeft er een betere oplossing om naar de functie's te zoeken in de classe dan een reggex?
Zover ben ik tot nu toe:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
<?php
/********class structure*************************
 *
 *            userclass
 *                -logincheck
 *                -loginform
 *                -logout
 *            directoryclass
 *                -rmdir
 *                -editdir
 *                -mkdir
 *            fileclass
 *                -rmfile
 *                -editfile
 *                -mkfile
 *            builder
 *                -__construct
 *                -readclasses
 *                -stringcheck
 *                -numbers
 *                -dir
 *                -file
 *
 ************************************************/

// change this, if this code isn't "higher" than ALL classfiles

define("CLASS_DIR", dirname(__FILE__));

class builder{
    
        public $error = 0;
        public $classfunc = array();
        public $rootpath ;
        
        
        /**
         * __construct search classes and call the method if the method is called
         * @uses searchclasses
         *
         */

        
        public function __construct($rootpath){
            $this->rootpath = $rootpath;
            
            $this-> classfunc = $this->searchclasses("/classes");
            $class = $_GET['class'];
            $function = $_GET['func'];
            
            if(in_array($function, $this->classfunc[$class])){
                /*roep de functie aan uit de juiste classe*/
                
            }
            
        }

        
        /**
         * search for clases to load
         *
         * @uses __autoload
         * @uses dir()
         * @uses getfunctions()
         * @param  $sub string
         */

        public function searchclasses($sub = "/"){
            
            $classes = array();
            $classes = $this->file(CLASS_DIR.$sub);
            $class   = array();
            
            foreach ( $classes AS $value){
                
                $functions = array();
                $exp = explode(".", $value);
                
                $this->__autoload($value);
                
                $functions = $this->getfunctions(CLASS_DIR.$sub."/".$value);
                $class[$exp[0]]= $functions;
                    
                
            }

            
               return $class;
            
        }

        
        
        /**
         * searching for methods names
         *
         * @param $file
         * @return methods
         */

        public function getfunctions($file){
            /** class name is name.class.php*/
            
            $arr = file($file);
              foreach ($arr as $line)
               {

              
                   if (ereg ('function ([_A-Za-z0-9]+)', $line, $regs))
                       $arr_methods[] = $regs[1];
               }

           return $arr_methods;
            
        }

        

        
        /**
         * autoload classes (no need to include them one by one)
         *
         * @uses classFolder()
         * @param $className string
         */

        public function __autoload($className) {
               
               
               if(file_exists("classes/".$className)){
                
                   
                 
                   $path = $this->rootpath."classes/".$className;
                   
                  include($path);
              
               }
               
           }


        /**
         * search for folders and subfolders with classes
         *
         * @param $className string
         * @param $sub string[optional]
         * @return string
         */

        function classFolder($className, $sub = "/") {
                   $dir = dir(CLASS_DIR.$sub);
                   
                   if(file_exists(CLASS_DIR.$sub.$className))
                   return CLASS_DIR.$sub;

                   while(false !== ($folder = $dir->read())) {
                       
                   if($folder != "." && $folder != ".." && $folder != ".DS_Store") {
                       
                       if(is_dir(CLASS_DIR.$sub.$folder)) {
                           
                           $subFolder = $this->classFolder($className, $sub.$folder."/");
              
                           if($subFolder)    return $subFolder;
                                         
                       }
                       
                   }
                   
               }

               
               $dir->close();
               return false;
        }

        
        
        
        public function stringcheck(){
            
        }

        
        
        public function numbers(){
            
        }

        
        /**
         * scans the directory for subdirectories
         *
         * @param $dir
         * @return array with directories
         */

        public function dir($dir){
            /* This function read all dir's */    
            
                $array = array();
                
                 if($handle = opendir( $dir ) )
                 {

                     
                      while ( ( $file = readdir( $handle ) ) !== false)
                      {

                          
                               if ( is_dir( $dir.$file ) )
                               {

                                  
                                       
                                               array_push( $array, $dir.$file);
                                            
                               }
                              
                         }  
                 }

                 else
                 {
                         $this->error = 2;
                         $this->print_error();
                 }
            
                 @
closedir( $dir );    
                 
                 return $array;
                     
        }

        
        /**
         * looking for files in the directory
         *
         * @param  $dir
         * @return array with files
         */

        public function file($dir){
            
                if( $handle = opendir ( $dir ) )
                    {

                            
                        $files = array();
                            
                            while ( ( $file = readdir( $handle  ) ) !== FALSE )
                            {

                                    
                                
                                if($file != '..' && $file != "." && $file != ".DS_Store"){
                                    
                                    array_push($files, $file);
                                    
                                }
                                                                                
                                
                                
                            }
                                
                        
                            
                        
                        }

                        else
                        {
                            
                            $this->error = 3;
                            $this->print_error();
                            
                        }
                        
                        @
closedir( $dir );
            
                    return $files;
            
        }

        
        /**
         * prints the error number
         *
         */

        public function print_error(){
            
            echo $this->error;
            exit();
            
        }
        
    
    
}


$obj = new  builder('/websitebuilder06/admin/');


?>
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.