- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
SO 上有很多关于 MVC 和 MVC 入门的好内容,但我找不到任何关于如何最好地在现有网站上实现 MVC 结构的内容。
我的网站是 echo 和串联 HTML 的令人讨厌的大杂烩,这会让任何专业程序员都吐不出来,但它确实有效。
不过,我想花一些时间来解决不断增加的技术债务,这意味着转向一个更加健全的 MVC 结构。
如果可能的话,我想避免 let 'er rip! 100% 重写和发布的方法,而是一次只做一个部分.但似乎基本 Controller 的集中式结构不适合这种做法?
câu trả lời hay nhất
如果我了解该代码库的总体质量水平,那么没有办法一步到位地迁移到 MVC。这是不可能的。另一个坏消息是框架无济于事。他们无法神奇地将糟糕的代码库转换成类似于 MVCish 架构的东西。
相反,您应该专注于增量重构。您的目标应该是大部分遵循 SOLID 的代码原理与LoD .当您重构代码时,架构将自行出现。 MVC 有许多变体和风格。
您可能想要了解的一件事是使用 templates in php 的方式。 .检查代码,看看您必须更改哪些内容才能满足您的需求(这更像是一个方向,而不是一个完整的解决方案)。请记住,在类似 MVC 的结构中,View 不是模板,但 View 使用多个模板。
您可能从中受益的另一件事是了解更多关于 datamappers 的信息.实现它们将是朝着创建模型层方向迈出的良好一步。
哦 .. 然后你可以看一些一般性的讲座(都是 30 分钟以上):
哦,还有 this book对重构大型 php 项目有一些见解。可能对您有用。
关于php - 将实时站点迁移到 MVC 结构的策略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7803282/
Tôi hiện đang cố gắng xây dựng một từ điển dựa trên bảng băm. Logic là: có một cấu trúc tên là HashTable với các nội dung sau: HashFunc HashFunc; PrintFunc PrintEntry;
Nếu tôi có một con trỏ tới một cấu trúc/đối tượng và cấu trúc/đối tượng đó chứa hai con trỏ khác tới các đối tượng khác và tôi muốn xóa đối tượng chứa hai con trỏ này mà không hủy các con trỏ mà nó giữ - Tôi phải làm điều này như thế nào? Con trỏ tới đối tượng A (chứa con trỏ tới đối tượng
Mã giống như gói này main import "fmt" type Hello struct { ID int Raw string } type World []*Hell
Tôi có một tệp CSV có định dạng sau: Mô-đun, Chủ đề, Chủ đề phụ. Nó cần có khả năng được nhập vào cơ sở dữ liệu MySQL với định dạng sau: CREATE TABLE `modules` ( `id
Thông thường tôi sử dụng một cái gì đó như copy((uint8_t*)&POD, (uint8_t*)(&POD + 1 ), back_inserter(rawData)); copy((uint8_t*)&PODV
Lỗi: Việc kết hợp chỉ có thể được thực hiện trên các bảng có loại cột tương thích. cấu trúc (lớp: chuỗi, skyward_number: chuỗi, skyward_points: chuỗi) <> cấu trúc (skyward_number: chuỗi, lớp: ký tự
Tôi có một loạt các con trỏ tới các cấu trúc và tôi đang cố gắng sử dụng chúng trong vòng lặp while. Tôi không hoàn toàn tự tin về cách khởi tạo nó một cách chính xác, nhưng tôi luôn làm điều này: Entry *newEntry = malloc(sizeof(Entry)
Tôi đang học C và câu hỏi của tôi có thể ngu ngốc nhưng tôi bối rối. Trong một hàm như thế này: int afunction(somevariables) { if (someconditions)
Hiện tại tôi đang thực hiện một nhiệm vụ lập trình và tôi thực sự chưa hiểu đầy đủ về liên kết vì chúng tôi chưa đề cập đến nó. Nhưng tôi cảm thấy cần nó để làm những gì tôi muốn, vì mảng không đủ nên tôi tạo cấu trúc như sau struct node { float coef;
Cho đoạn mã sau: #include #include #define MAX_SIZE 15 typedef struct{ int touchs;
struct contact list[3]; int checknullarray() { for(int x=0;x<10;x++) { if(strlen(con
Câu hỏi này đã có câu trả lời ở đây: Đã đóng 11 năm trước. Có thể trùng lặp: Vòng lặp “for” trống trong Facebook ajax AJAX gọi gì
Tôi vừa duyệt một tệp trong bộ phản xạ và thấy điều này trong hàm tạo cấu trúc: this = new Binder.SyntaxNodeOrToken(); Ai đó có thể giải thích cách bài tập này hoạt động trong C# không?
Tôi thường sử dụng các hằng chuỗi, ví dụ: DICT_KEY1 = 'DICT_KEY1' DICT_KEY2 = 'DICT_KEY2' ... nhiều khi tôi không quan tâm các chữ thực tế là gì miễn là chúng là duy nhất và con người có thể đọc được
Tôi mới sử dụng C và tôi không hiểu tại sao đoạn mã sau không hoạt động: typedef struct{ uint8_t a; uint8_t* b;
Bạn có thể tạo một cấu trúc hoạt động giống như một trong các lớp dựng sẵn, nơi bạn có thể gán giá trị trực tiếp mà không cần gọi thuộc tính không? Tiền thân: Số lượng RoundedDouble = 5;
Đây là mã của tôi: #include typedef struct { const char *description; int age;
Tôi nghĩ R có cấu trúc đặt tên hữu ích cho các thành phần danh sách khi tạo danh sách lồng nhau. Tôi có một danh sách các danh sách và muốn áp dụng một hàm cho mọi vectơ có trong bất kỳ danh sách nào. lapply thực hiện điều này nhưng sau đó loại bỏ cấu trúc đặt tên của danh sách. Làm cách nào để áp dụng các cột lồng nhau
Tôi đang tạo một công cụ sắp xếp cá nhân cho mục đích học tập và tôi chưa bao giờ làm việc với XML nên tôi không chắc liệu giải pháp của mình có phải là giải pháp tốt nhất hay không. Đây là cấu trúc cơ bản của tệp XML tôi đính kèm:
Tôi chưa quen với khái niệm nosql nên khi bắt đầu học PouchDB, tôi đã tìm thấy bảng chuyển đổi này. Sự nhầm lẫn của tôi là, PouchDB hoạt động như thế nào nếu tôi có thể nói rằng tôi có nhiều bảng, điều đó có nghĩa là tôi cần tạo nhiều cơ sở dữ liệu? Bởi vì theo tôi trong bagdb
Tôi là một lập trình viên xuất sắc, rất giỏi!