Điểm:0

Drush xác định chính xác PROJECTROOT và WEBROOT cho một dự án như thế nào?

lá cờ ph

bên trong Cấu hình Drush phần của tài liệu chính thức có ghi:

Các tệp drush.yml được phát hiện như bên dưới, theo thứ tự ưu tiên:

  1. Thư mục trang web Drupal (ví dụ: trang web/{example.com}/drush.yml).
  2. các trang web/tất cả/drush, WEBROOT/drush hoặc PROJECTROOT/drush.
  3. ...

Ở đó bạn có thể thấy "WEBROOT" và "PROJECTROOT", nhưng không có giải thích về chúng là gì. Trong mã Drush không có đề cập nào ngoài cấu hình:

$ grep DỰ ÁN * -r
drush/docs/using-drush-configuration.md:2. `sites/all/drush`, `WEBROOT/drush` hoặc `PROJECTROOT/drush`.                                                                                                                                

$ grep WEBROOT * -r 
drush/docs/using-drush-configuration.md:2. `sites/all/drush`, `WEBROOT/drush` hoặc `PROJECTROOT/drush`.                 

Drush xác định giá trị của PROJECTROOT và WEBROOT như thế nào?

Câu hỏi đặt ra là những cái tên đó có nghĩa là gì, nhưng làm thế nào Drush quyết định chúng là gì. Nếu chúng được sử dụng để tìm kiếm các tệp cấu hình khác nhau, điều đó có nghĩa là Drush đã phân giải các tên đó thành các thư mục hoặc đường dẫn thực tế trong hệ thống hiện tại. Làm thế nào Drush giải quyết chúng?

Tôi đoán là Drush lấy thư mục gốc của trang web (được xác định ion là bí danh Drush. Nếu thư mục đó là gốc Drupal thì WEBROOT và PROJECTROOT giống nhau, thư mục gốc được xác định. Nếu thư mục gốc được định cấu hình có thư mục gốc nhà soạn nhạc.json và một trang web thì PROJECTROOT là đường dẫn gốc đã được cấu hình và trang web thư mục là WEBROOT... nhưng đó chỉ là phỏng đoán.

lá cờ cn
Tôi tưởng tượng nó có nghĩa đen là thư mục gốc của dự án của bạn so với thư mục trong dự án chứa thư mục gốc của web.
sanzante avatar
lá cờ ph
Vâng đó là sự thật. Nhưng làm thế nào Drush biết điều đó? Trong cấu hình bí danh, bạn xác định đường dẫn gốc. Đó có thể là webroot, nhưng điều đó không đúng vì bạn có thể trỏ đến thư mục chứa composer.json. Tôi đoán Drush đủ thông minh để kiểm tra xem giá trị cấu hình gốc có phải là gốc drupal hay không (trong trường hợp đó là WEBROOT và PROJECTROOT là thư mục đó) hay là sơ đồ soạn sẵn giống như sơ đồ được tạo bởi `composer create-project`, vì vậy thư mục có composer. json là PROJECTROOT và thư mục web là WEBROOT... nhưng tôi muốn xác nhận.
lá cờ cn
Vâng, drush đủ thông minh để duyệt qua cấu trúc thư mục cho đến khi nó có thể tìm thấy thứ gì đó mà nó xác định là gốc của dự án Drupal (bạn phải xem mã để có được tiêu chí chính xác). Tương tự như cách hoạt động của Git, Composer và các công cụ khác
Điểm:3
lá cờ in

công dụng của drush webflow/drupal-finder để xác định các thư mục này. logic là trong Drupal Downloader::findAndValidateRoots()

WEBROOT là thư mục gốc của Drupal và PROJECTROOT là thư mục chứa tệp composer.json.

Drupal Downloader được sử dụng ở một số nơi, nhưng phần thú vị là chức năng Preflight::setSelectedSite.

Ở đó Drush định vị "Drupal Root" và "Composer Root". "Drupal Root" là... à, thư mục Drupal Root và cái mà tài liệu Drush gọi là WEBROOT. Và "Root nhà soạn nhạc" là thư mục chứa tệp composer.json và đó là thứ mà tài liệu gọi là PROJECTROOT.

sanzante avatar
lá cờ ph
Vâng, tôi hiểu điều đó, câu hỏi đặt ra là cách Drush xác định giá trị cho các thư mục đó. Tôi đã cập nhật câu hỏi của mình.
sonfd avatar
lá cờ in
Đã cập nhật @sanzante
sanzante avatar
lá cờ ph
Cảm ơn! Đó là những gì tôi đang tìm kiếm! Tôi đang cập nhật câu hỏi của mình với những phát hiện của mình.
Điểm:0
lá cờ de

When you download Drupal using Composer, you get directory (folder) with some files. This is the project root, as it is the top-level of the entire project.

However, when viewing a Drupal site through a browser, you are not viewing the project root, rather, you are viewing one directory below it; by default, this folder is called /web (though it can be changed in composer.json). The web folder is the webroot, as it is the top-level folder that is viewed when accessing the project through the web.

sanzante avatar
lá cờ ph
Đó là định nghĩa tiêu chuẩn của gốc web và gốc dự án. Tôi đã biết điều đó. Điều tôi đang hỏi là làm thế nào Drush xác định giá trị của WEBROOT và PROJECTROOT, chứ không phải định nghĩa chung về gốc của web và dự án trong ngữ cảnh của một dự án web.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.