Lưu lượng thực thi Joomla là gì, sau khi yêu cầu đạt đến index.php cho đến đầu ra cuối cùng trên trình duyệt?


8

Dựa trên câu hỏi này: Làm thế nào Mẫu hoạt động và tải các tệp css / js? Quy trình xây dựng trang web với Purity III

Trích dẫn:
.... Tôi phải trình bày trang web của mình vào ngày mai và tôi có thể được hỏi "nội dung đến từ đâu?" và tôi không thể trả lời bởi vì tôi không nhận được nó.

Điều gì xảy ra nếu tôi gọi trang web? Trong tệp index.php là mã php nhưng tôi không thể tìm thấy vị trí mà phần còn lại của trang web được "gọi" hoặc một cái gì đó ....

và cũng về loại câu hỏi như thế này: Nơi tập tin Joomla nằm

Tôi quyết định tạo Q / A này để làm tài liệu tham khảo cho tất cả các câu hỏi tương tự. Bất cứ ai muốn đóng góp để làm cho bài đăng wiki cộng đồng vững chắc này đều được chào đón.

Câu trả lời:


13

ToC của người trả lời
1. Giới thiệu cho người mới bắt đầu + liên kết tài nguyên cho người mới bắt đầu
2. Giới thiệu về Kiến trúc
Joomla 3. Luồng thực thi Joomla - Cách thức hoạt động của Joomla
4. Tài nguyên bổ sung

1. Giới thiệu cho người mới bắt đầu

Sử dụng Joomla để xây dựng trang web khá đơn giản, vì nó cung cấp một khu vực quản trị thân thiện. Trong hầu hết các trường hợp, đây là tất cả những gì cần thiết cho người dùng cuối và nhà thiết kế.

Rất nhiều người mới bắt đầu với một số kiến ​​thức về html và css tĩnh cổ điển, có cùng câu hỏi / kỳ vọng chung này: Cách chỉnh sửa tệp / nội dung của họ, khi họ thấy nó được hiển thị trên trình duyệt của họ.

Tuy nhiên , cách Joomla hoạt động đằng sau hậu trường, phức tạp hơn nhiều so với việc chỉnh sửa tệp html và đòi hỏi kiến ​​thức và kinh nghiệm lập trình nâng cao để hiểu đầy đủ về nó.

Vì vậy, như một câu trả lời ngắn gọn: đừng mong đợi mở ứng dụng FTP / File manager và tìm một tệp có tên: myArticle.htmlhoặc index.htmlsẽ cho phép bạn chỉnh sửa trực tiếp hoặc thay đổi giao diện của các thành phần html trên trang của bạn.

Để bắt đầu, trước tiên tôi khuyên bạn nên tìm hiểu những điều cơ bản về Joomla và cách quản lý nó từ phần phụ trợ. Dần dần, từ từ nhiều kiến ​​thức và kinh nghiệm sẽ đạt được.

Tài nguyên cho người mới bắt đầu

Một chủ đề với các tài nguyên và hướng dẫn hữu ích có thể được tìm thấy ở đây:
Hướng dẫn cho người mới bắt đầu Joomla - Làm thế nào để bắt đầu với Joomla?


2. Giới thiệu về Kiến trúc Joomla

Joomla không chỉ là một CMS hiện đại được xây dựng trên PHP. Đây là một dự án web tiên tiến kết hợp kiến ​​trúc nhiều lớp, bao gồm:

  • Khung Joomla - bao gồm các thư viện bên thứ 3 mà khung dựa vào và các plugin mở rộng khung.
  • Các ứng dụng web riêng biệt như trang quản trị viên, trang web mặt trước, cài đặt.
  • Lớp mở rộng (mô-đun, thành phần, mẫu) mở rộng khung Joomla và các ứng dụng.

Joomla thực hiện các khái niệm lập trình nâng cao khác nhau, Lập trình hướng đối tượng , mẫu thiết kế MVC và các mẫu thiết kế phổ biến khác, hệ thống mẫu, v.v. Cũng không quên đề cập đến việc Joomla sử dụng cơ sở dữ liệu nơi lưu trữ và truy xuất dữ liệu khi được yêu cầu hiển thị trên màn.


3. Mô tả đơn giản và ngắn gọn về chu kỳ thực thi của Joomla - Cách thức hoạt động của Joomla

Khi bạn truy cập vào index.phptrang web Joomla (ứng dụng JSite mặt trước), một chu trình thực hiện hoàn toàn mới sẽ bắt đầu, bao gồm:

  • Quan trọng bao gồm các tệp xác định CONSTANTS của ứng dụng được sử dụng rộng rãi trên ứng dụng và các tiện ích mở rộng của ứng dụng.
  • Tải khung công tác Joomla và tất cả các Lớp thiết yếu cần thiết để ứng dụng hoạt động, - khung này cũng kiểm tra xem có tệp cấu hình nào không , hoặc sẽ đưa chúng ta đến thư mục cài đặt để thực hiện cài đặt Joomla mới .
  • Các ứng dụng đối tượng được tạo ra và khởi tạo và các trạng thái phiên được xử lý (mới hoặc session đang tồn tại).
  • Tệp cấu hình được tải - cũng cung cấp quyền truy cập vào cơ sở dữ liệu.
  • Các bộ định tuyến được gọi. Bộ định tuyến chịu trách nhiệm dịch URL sang một mảng các lệnh kết hợp và ngược lại. Các lệnh này sẽ được sử dụng làm tham số url và được gửi tới SuperGlobal của PHP$_GET để tạo thành một url hoàn chỉnh. Phần optiontử của mảng này là phần xác định thành phần sẽ được thực thi.
  • Với việc thực hiện thành phần, Đối tượng Tài liệu được tạo. Tài liệu được lưu trữ trong bộ nhớ và lưu giữ dữ liệu sẽ được trả lại sau trên trình duyệt. Thực tế được lưu trữ dưới dạng bộ đệm trong bộ nhớ cho phép đặt và thao tác nội dung trong đó không theo thứ tự cụ thể và từ bất kỳ vị trí nào. Các lựa chọn mẫu đã được lưu trữ trong cấu hình. Ngoài ra, điều đáng chú ý là điều duy nhất Joomla đang làm là chạy thành phần này. Những gì khác nên xảy ra trong bước này là công việc của thành phần.
  • Tiếp đến là Kết xuất của Trang , trong đó cùng với dữ liệu thành phần từ bước trước đó, các mô-đun và thông báo thông báo cũng được hiển thị và được đặt ở vị trí mẫu của chúng.
  • Bước cuối cùng là xuất trang ra trình duyệt .
  • Điều quan trọng cần lưu ý là trong các giai đoạn khác nhau của chu kỳ thực hiện ở trên, có các điểm Sự kiện Plugin được gọi, cho phép các sự kiện khác nhau can thiệp và mở rộng chức năng Joomla.

Danh sách luồng thực thi chi tiết hơn, với các sự kiện plugin được ghi lại ở đây: Luồng thực thi ứng dụng Joomla


4. Tài nguyên bổ sung:


1

Đóng góp nhỏ, danh sách đầy đủ của Joomla! Sự kiện Plugin .


nhỏ nhưng hữu ích
FFrewin

có lẽ bạn có thể viết những phần thiết yếu nhất của trang đó tại đây
FFrewin

@FFrewin Tôi muốn nhưng về cơ bản đó là một danh sách dài các liên kết của mỗi sự kiện Plugin! Tôi đang cố gắng tìm một loại "dòng thời gian" của tất cả các sự kiện trong danh sách này nhưng tôi không thể tìm thấy nhiều về nó, tôi đã vấp phải câu trả lời của bạn ở đây sau khi rất nhiều thông tin và Dòng thực thi ứng dụng Joomla có đề cập đến một số của Sự kiện nhóm hệ thống nhưng không nhiều về tất cả những người khác.
Gruber

@FFrewin cũng hữu ích một loại mô tả tổng quan về tất cả các nhóm sự kiện plugin khác nhau , nhưng tôi không tìm thấy nhiều trong các tài liệu Joomla (tho Tôi thừa nhận GoogleFu của tôi hơi thiếu những ngày này tại sao, có lẽ là sức nóng: P)
Gruber
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.