2012-11-15 4 views
0

안녕 난 약간의 도움과 내 프로젝트의 조직에서 경험을 추구합니다. 이것이 처음 프로젝트이기 때문에, 필자는 필자가 원하는대로 조직하고 있는지,이 사이트는 다양한 사이트에 대한 전자 상거래 플랫폼이라는 것을 알지 못합니다. 내 프로젝트는이 방법으로 조직 전류 :PHP 프로젝트 파일 조직

. 
├── admin 
│   └── index.php (redirects to system/admin/index.php) 
├── conf.php (saves info about the server database etc...) 
├── index.php 
└── system 
    ├── admin 
    │   ├── add_prd.php 
    │   └── index.php(this is the main administration page) 
    ├── css 
    │   └── css.css 
    ├── func.php(this is my functions library witch is included in every file that uses a function made by me) 
    ├── img (this is where all pics go) 
    │   ├── img_artigos(this is where all pics *of the products* go) 
    │   │   ├── product1.png 
    │   │   └── ... 
    │   └── (system images go here)banner, all other images of the "template", etc...(probably i will make a new folder called system for that) 
    ├── logout.php 
    ├── order.php 
    └── reg.php 

이는, 인덱스 레지스터가 페이지를 다시로드 GET를 통해에 지시를 받는다 클릭하면 스위치 케이스를 사용하여, 거기에 모든 일이 어떻게 작동 등록 양식을 반향하는 함수 register()를 실행하면 데이터베이스에 등록을 삽입하고 index.php로 리디렉션하는 reg.php (트리의 마지막 파일)에 제출됩니다. logout()과 order()가 함수를 실행하기 위해 리다이렉트 한 다음 다시 인덱스로 돌아가는 경우도 마찬가지입니다.이 페이지는 하나의 함수를 사용하고 사용자를 인덱스 페이지로 리디렉션하기위한 것입니다. ... 난 다른 기능을 실행하고 인덱스로 다시 리디렉션 스위치 케이스를 사용하여 리디렉션에 같은 일을하고에 생각하고, 사이트는 인덱스 관리자 지수, 리디렉션, CSS와 FUNC 파일이있을 것입니다

사용자는 이름, 페이지를 다시로드는 동일 관리 섹션 간다 ...는 프로파일 정보를 유저 네임 profile_display() 함수를로드 스위치 케이스 지시

을 얻는하여 관리 사용자 클릭하면 다른 페이지를 탐색하는 감각을 갖지만 실제로는 색인을 떠나지 않았습니다. 이 맞다면 또는 내가 문제의 어떤 종류를해야합니다 경우, 또는 내가 나쁜 관행을 사용하고 있다면 ... 내가 좀 더 전통적인 방법으로 (많은 파일을) 가야한다면 무엇 인

는 내가 알고 싶은 것은 전통적인 것 또는이 것을 유지하는 것이 더 나아질 것입니다 ... 그리고 이것 때문에 서버 측에 문제가있을 경우 그리고 여러분의 의견. 미리 감사드립니다.

답변

1

나는 조직, 그것의 아주 기본적인 구조가 아니라 그 확장 성이 나쁜 아니라고 생각하지만. 프로젝트가 커지면 행복하게 지낼 수 없습니다.

나는 당신의 페이지 요청의 모든 라우팅을 할 수 밖에 MVC 프레임 워크의 다양성을 살펴보고 당신이 유지 보수 프로젝트를 유지하는 데 도움이 당신을 추천 할 것입니다. 또한 논리적 코드와 레이아웃을 분리하는데도 도움이됩니다. 당신이 그 구조를 유지하기 위해 wan't 경우

적어도 그것의 일부를 변경해야합니다 :

내가 당신을 오해 할 수 있지만 모두 같은 방법으로 그것을해야한다. switch 문에서 호출 된 함수를 사용하지 않고 동시에 내 의견으로는 reg.php로 직접 리디렉션합니다.

switch($page) { 
    case "register": 
    //inlude file or call function 
    break; 
    case "register_submit": 
    //inlude file or call function 
    break; 
    case "logout": 
    //inlude file or call function 
    break; 
    case "order": 
    //inlude file or call function 
    break; 
    case "login": 
    //inlude file or call function 
    break; 
} 

그런 다음 어쩌면 "자산"폴더를 만들거나 당신은 당신이 당신의 시스템 폴더와 같은 수준에 원하는대로를 호출하고 거기에 모든 CSS/JS/이미지 파일을 넣을 수 있습니다.

는하지만 조용하게 당신이 MVC 프레임 워크를 사용하는 것이 좋습니다. 개인적으로 Codeigniter를 사용하고 있습니다. 그러나 Kohana와 같은 몇 가지 좋은 프레임 워크가 있습니다.

+0

Codeigniter를 고려해 볼만한 답변 주셔서 감사합니다. 나는 많은 수준에서 잘못 될 수 있으며, 결국 "나쁘지 않습니다"라고 생각합니다. –

+0

정말 필요할 경우에만 리디렉션을 사용합니다. , 레지스터의 경우, 스위치의 경우에는 내가 양식을 가지고있다, 그리고 제출 될 때 그것은 게시물을 통해 데이터를받는 페이지 reg.php에 제출되고 데이터를 삽입하기 위해 func.php에있는 함수를 호출한다. 데이터베이스에 –