get_defined_functions ()

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Back-end Developer

Functieomschrijving Heb jij kort geleden jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een gewaardeerde werkgever in regio Oosterhout zijn wij op zoek naar een back-end developer. Kennis of ervaring met C# & SQL is een must! Je bent verantwoordelijk voor de beheer en ontwikkeling van de software; Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je test de software en ontwikkelt deze door; Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten; Je brengt de aanpassingssuggesties van klanten in kaart, om

Bekijk vacature »

Lasrobot Programmeur

Over de functie Off-line programma’s maken die het beste resultaat bij de lasrobot mogelijk maken De programma’s met behulp van teach verder optimaliseren Proactief meedenken over oplossingen en over de juiste invulling van lasmallen Het lasrobotproces zoveel mogelijk optimaliseren Over het bedrijf Onze opdrachtgever is gespecialiseerd in de engineering, productie en assemblage van samengestelde plaatwerkproducten en monodelen uit metaal. Onze klant werkt samen met het team aan de mooiste producten van de toekomst. Binnen dit bedrijf staat een sterk team van specialisten op het gebied van industrial design, mechanical engineering, in-house prototyping en all-round projectmanagement. Met daarbij uiteenlopende kennis in

Bekijk vacature »

Applicatie ontwikkelaar

Functie omschrijving Zelfstandige applicatie ontwikkelaar gezocht voor familiair bedrijf in omgeving Capelle ad Ijssel Ben jij op zoek naar een nieuwe uitdaging en zoek jij een informele werkgever waar je zelfstandig kunt werken binnen een leuk IT team, lees dan snel verder want wie weet zijn wij op zoek naar jou! Een deel van jouw werkzaamheden: Onderhouden en ontwikkelen van de IT systemen; Opzetten van Azure Cloud systemen, denk aan interfaces, hardware op de Cloud, webportalen of BI functies; Werken aan scripts binnen verschillende software applicaties, denk aan ERP en CAD; Ontwikkelen en implementeren van MS PowerApps en Power BI.

Bekijk vacature »

.NET developer

Functie Als .NET ontwikkelaar start jij in een multidisciplinair team met 7 ontwikkelaars. Dit team is verdeeld onder Front-end ontwikkelaars en backend developers. De backend developers werken voornamelijk aan desktop applicaties in combinatie met backend systemen. Hier ga jij dus ook mee aan de slag! Hierbij wordt voornamelijk gebruik gemaakt van C# .NET, WPF, UWP, XAML en MVVM. WPF, UWP, .NET Core, Azure Devops en Entity Framework. WPF en UWP worden dan ook voornamelijk gebruikt voor de user interface van de desktop applicatie. Het development team is dan ook erg gedreven m.b.t. het ontwikkelen van vooruitstrevende en innovatieve horeca automatiseringsoplossingen.

Bekijk vacature »

Senior Front end developer Digital Agency

Functie Jij als Front end developer komt te werken in een van de 8 multidisciplinaire teams binnen de organisatie. Deze teams werken op basis van Scrum agile in 2 wekelijkse sprints. De grootte van de teams varieert van 9-14 collega’s en bestaan altijd uit één of meerdere project managers en een project manager. Samen met je team werk je aan verschillende projecten voor uiteenlopende klanten zoals grote multinationals tot het kleine mkb. De stack waarmee gewerkt wordt is voornamelijk Javascript, ES6, Es.next, HTML, CSS, React.js en Node.js. Wat deze organisatie onderscheid is dat ze echt langdurige partnerships aangaan met hun

Bekijk vacature »

PHP Software Developer

Functie omschrijving PHP Software Developer gezocht! Voor een organisatie in de regio Zeist die zich bezighoud met het verbeteren van de medicatieveiligheid zoeken wij een Software Developer. In deze functie zijn wij op zoek naar een slimme en enthousiaste Developer die interesse heeft in farmacie, logistiek en ICT. Daarnaast beschik je over een goed analytisch vermogen en ben je van nature gestructureerd en resultaatgericht. Je moet in deze functie daadkrachtig, flexibel en communicatief goed zijn. Je verantwoordelijkheden bestaan uit: Object georiënteerd programmeren; Werken in een scrumteam aan de ontwikkeling van een medicatiebewakingssysteem; Meedenken over de mogelijkheden en onmogelijkheden van projecten;

Bekijk vacature »

Network Engineer (f/m/d) in Heidelberg

Network Engineer (f/m/d) The IT Services team operates and supports the IT infrastructure and services at EMBL headquarters in Heidelberg and at the laboratory’s sites in Barcelona and Rome. As part of IT Services, the Network team is responsible for managing and developing the network infrastructure in our data centres, on campus, and to our external network providers. As a leading scientific institution with highly data-intensive research, extensive data flows at and between the laboratory’s six sites and to the Internet, EMBL is connected to national and international scientific networks using state-of-the-art technologies from vendors including Cisco, Extreme Networks and

Bekijk vacature »

Back-end ontwikkelaar

Functie omschrijving Wil jij meebouwen aan diverse databasesystemen in een klein bedrijf met een platte organisatie? In een team van ruim 10 ontwikkelaars wordt er aan diverse ICT oplossingen gewerkt. Jouw taken hierbij zullen bestaan uit: Het onderhouden en door-ontwikkelen van bestaande databases. Denk hierbij aan schema verbeteringen en performance-tuning. Bij nieuwe ontwikkelingen ga jij ook bezig met het bouwen van het databaseschema. Omdat je in een klein team werkt zal je ook de C# routine verder uitbouwen en ontwikkelen. Ook kan je meedraaien in algemene refactory-, ontwikkel- of testwerkzaamheden. Je zal voornamelijk gebruik maken van de volgende technieken: .NET

Bekijk vacature »

Web Application Developer

Dit ga je doen Samen met het team werk je aan de visualisatie functionaliteiten en hoe dit gebruikt kan worden in een operationele setting; Het ontwerpen, ontwikkelen, onderhouden en leveren van support betreft het Warehouse Management Systeem en de bijbehorende web visualisaties; Je gebruikt hierbijde tools WebGL en ASP.net; Het meewerken in implementatieprojecten; Het leveren van Go-Live Support; Sparren met jouw Amerikaanse collega's. Hier ga je werken Voor een internationale organisatie in de transport zijn wij momenteel op zoek naar een Web Application Developer. Ze zijn wereldwijd de grootste speler en lopen voorop met het automatiseren van alle processen van

Bekijk vacature »

Functioneel applicatiebeheerder - SOP-SYS-SAM

TenneT is hard groeiend om de onze ambities waar te kunnen maken. Zo nemen wij een leidende rol in het aanjagen van de energietransitie. Het werven van nieuw talent speelt daarin een cruciale rol. Wij zijn op zoek naar een gedreven Functioneel Applicatiebeheerder op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je gaat samenwerken in een team van circa 15 functioneel applicatiebeheerders en gaat onderdeel uitmaken van een DevOps team. Met dit team ga je applicaties (laten) ontwikkelen en beheren. Hierbij concentreer je je vooral op de functionele aspecten, zodat

Bekijk vacature »

C# .NET developer voor innovatieve applicaties gez

Bedrijfsomschrijving Deze werkgever houdt zich al ruim 20 jaar bezig met het ontwikkelen van innovatieve software en dat willen ze graag nog lang doorzetten. En dat merk je ook als je als .NET developer hier aan de slag gaat. De applicaties worden continu doorontwikkeld met altijd als uitgangspunt dat zowel de kwaliteit als het gebruikersgemak van hoog niveau is. Het bedrijf telt inmiddels ruim 25 medewerkers waarvan meer dan de helft op de development afdeling werken. Meer weten over deze werkgever? Mail naar [email protected] of bel 0657578548 Functieomschrijving Je komt te werken in een Scrum team met andere .NET developers

Bekijk vacature »

C# .NET Developer

Functie omschrijving Ben jij op zoek naar een nieuwe uitdaging binnen development waar je komt te werken binnen een flexibel, jong en ondernemend bedrijf. Lees dan snel verder! Voor deze functie zoeken wij een C# .NET Developer die enthousiast wordt van het aansluiten en begeleiden van (complexe) nieuwe klanten. Daarnaast begeleid je complexe projecten, wij zoeken iemand die altijd kansen ziet en waarbij het glas altijd half vol is. Voor deze functie zoeken wij een Developer met ervaring op het gebied van .NET die deze organisatie gaat versterken. Binnen de organisatie ga jij je vooral bezighouden met het verbeteren van

Bekijk vacature »

Medior/Senior Software Developers gezocht in de Ra

Functie Op dit moment staan er posities open voor de volgende functies: Front-end, Back-End & Fullstack software developer. Als Front-End software developer werk je met JavaScript en de bijbehorende technologieën zoals TypeScript, Angular, React, Vue en Svelte. Als Back-End software developer ben je bezig in NodeJS en doe je dit met behulp van AWS, NoSQL, REST en GraphQL. Je krijgt leuke en uitdagende opdrachten met een gemiddelde duur van anderhalf jaar. Hier werk je in een team met andere IT’ers aan het ontwikkelen en verbeteren van software. Je wordt begeleid door een accountmanager die fungeert als jouw aanspreekpunt. Het team

Bekijk vacature »

Software programmeur

Functieomschrijving Voor een erkende werkgever in de regio van Goes zijn wij op zoek naar een enthousiaste software programmeur met PHP/Symfony ervaring. Een gedreven persoon die het development team komt versterken met het aanpakken van complexe projecten. Ben jij op zoek naar een baan met veel uitdaging binnen een snelgroeiend e-commerce bedrijf, waar je de tijd en ruimte krijgt voor zowel professionele als persoonlijke groei? Lees dan snel verder! Dit ga je doen: Beheer en ontwikkeling van de serviceportal in Symfony en de webshops in de tweede versie van Magento; Testen en door ontwikkelen van software; Ontwikkelen van nieuwe functionaliteiten;

Bekijk vacature »

PHP Laravel developer

Functie omschrijving Weet jij alles van Laravel en krijg je energie van het ontwikkelen van software hiermee? Laat snel wat van je horen want wij zoeken een PHP/Laravel developer in regio 's-Hertogenbosch. Jouw taken zullen bestaan uit: Softwareapplicaties ontwikkelen en verder optimaliseren in veel diverse projecten op basis van Agile/Scrum. Uitleg geven over software en applicaties Klantcontact hebben over bestaande applicaties. Documentatie schrijven over applicaties. Techstack: PHP, Laravel, HTML, CSS, Javascript. Bedrijfsprofiel Deze organisatie zit in de regio van 's-Hertogenbosch en is een klein softwarebedrijf. Er werken ongeveer 15 medewerkers, verdeeld in meerdere teams, zoals back-end en front-end development, projectmanagement

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

29/09/2023 05:31:50
 
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.