Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
projet-cdaw
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Thibaut Felten
projet-cdaw
Commits
b8edf1f7
Commit
b8edf1f7
authored
Nov 14, 2020
by
thibaut-felten
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Request maj
parent
92205143
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
35 additions
and
22 deletions
+35
-22
api.php
backend/MVC/api.php
+0
-3
AutoLoader.class.php
backend/MVC/classes/AutoLoader.class.php
+9
-9
Request.class.php
backend/MVC/classes/Request.class.php
+26
-10
No files found.
backend/MVC/api.php
View file @
b8edf1f7
<?php
// define __ROOT_DIR constant which contains the absolute path on disk
// of the directory that contains this file (index.php)
// e.g. http://eden.imt-lille-douai.fr/~luc.fabresse/index.php => __ROOT_DIR = /home/luc.fabresse/public_html
$rootDirectoryPath
=
realpath
(
dirname
(
__FILE__
));
define
(
'__ROOT_DIR'
,
$rootDirectoryPath
);
// Load all application config
require_once
(
__ROOT_DIR
.
"/config/config.php"
);
...
...
@@ -15,7 +13,6 @@
// Reify the current request
$request
=
Request
::
getCurrentRequest
();
Response
::
interceptEchos
();
try
{
$controller
=
Dispatcher
::
dispatch
(
$request
);
$response
=
$controller
->
execute
();
...
...
backend/MVC/classes/AutoLoader.class.php
View file @
b8edf1f7
...
...
@@ -14,31 +14,31 @@ private function load($className) {
// it is in one of these subdirectory '/classes/', '/model/', '/controller/'
// if it is a model, load its sql queries file too in sql/ directory
if
(
strpos
(
$className
,
"Controller"
)
!==
FALSE
){
$classFile
.=
"..
/controller/"
;
$classFile
.=
__ROOT_DIR
.
"
/controller/"
;
}
else
if
(
strpos
(
$className
,
"Model"
)
!==
FALSE
){
$classFile
.=
"..
/model/"
;
$classFile
.=
__ROOT_DIR
.
"
/model/"
;
}
else
if
(
strpos
(
$className
,
"Role"
)
!==
FALSE
){
$classFile
.=
"../model/"
;
$classFile
.=
__ROOT_DIR
.
"../model/"
;
}
else
if
(
strpos
(
$className
,
"User"
)
!==
FALSE
){
$classFile
.=
"..
/model/"
;
$classFile
.=
__ROOT_DIR
.
"
/model/"
;
}
else
if
(
strpos
(
$className
,
"Response"
)
!==
FALSE
){
$classFile
.=
"..
/classes/"
;
$classFile
.=
__ROOT_DIR
.
"
/classes/"
;
}
else
if
(
strpos
(
$className
,
"Request"
)
!==
FALSE
){
$classFile
.=
"..
/classes/"
;
$classFile
.=
__ROOT_DIR
.
"
/classes/"
;
}
else
if
(
strpos
(
$className
,
"Dispatcher"
)
!==
FALSE
){
$classFile
.=
"..
/classes/"
;
$classFile
.=
__ROOT_DIR
.
"
/classes/"
;
}
else
if
(
strpos
(
$className
,
"DatabasePDO"
)
!==
FALSE
){
$classFile
.=
"..
/classes/"
;
$classFile
.=
__ROOT_DIR
.
"
/classes/"
;
}
$classFile
.=
.
$className
.
".class.php"
;
$classFile
.=
$className
.
".class.php"
;
include
$classFile
;
}
}
...
...
backend/MVC/classes/Request.class.php
View file @
b8edf1f7
<?php
class
Request
{
protected
$controllerName
;
protected
$uriParameters
;
protected
$controllerName
;
protected
$uriParameters
;
protected
static
$request
=
NULL
;
public
static
function
getCurrentRequest
(){
// T
}
public
static
function
getCurrentRequest
(){
if
(
is_null
(
static
::
$request
))
static
::
$request
=
new
static
();
return
static
::
$request
;
}
public
function
__construct
()
{
$this
->
initBaseURI
();
...
...
@@ -17,7 +21,8 @@ class Request {
// e.g. http://eden.imt-lille-douai.fr/~luc.fabresse/api.php => __BASE_URI = /~luc.fabresse
// e.g. http://localhost/CDAW/api.php => __BASE_URI = /CDAW
protected
function
initBaseURI
()
{
$this
->
baseURI
=
// TODO
$url
=
dirname
(
$_SERVER
[
'SCRIPT_NAME'
]);
$this
->
baseURI
=
$url
;
}
// intialise controllerName et uriParameters
...
...
@@ -30,10 +35,21 @@ class Request {
// => controllerName == 'user'
// uriParameters == [ 1 ]
protected
function
initControllerAndParametersFromURI
(){
$this
->
controllerName
=
// TODO
$this
->
uriParameters
=
// TODO
}
$prefix
=
$_SERVER
[
'SCRIPT_NAME'
];
$uriParameters
=
parse_url
(
$_SERVER
[
'REQUEST_URI'
],
PHP_URL_PATH
);
$i
=
0
;
while
(
$i
<
strlen
(
$prefix
)
&&
$i
<
strlen
(
$uriParameters
))
if
(
$prefix
[
$i
]
===
$uriParameters
[
$i
]){
$i
++
;
}
$uriParameters
=
substr
(
$uriParameters
,
$i
);
$uriParameters
=
trim
(
$uriParameters
,
'/'
);
$uriSegments
=
explode
(
'/'
,
$uriParameters
);
$this
->
controllerName
=
array_shift
(
$uriSegments
)
?:
"default"
;
$this
->
uriParameters
=
$uriSegments
;
}
// ==============
// Public API
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment