Tôi có thể sử dụng những công cụ nào để giúp tôi phát triển Joomla?


26

Tôi chưa quen với việc phát triển Joomla và tôi muốn biết những công cụ và / hoặc phần mềm nào có thể hỗ trợ tôi trong việc phát triển cả phụ trợ và giao diện của trang web Joomla. Điều này cũng sẽ bao gồm bất kỳ bảo trì và cập nhật trong tương lai.


1
Chà, chúng tôi muốn biến trang này thành một wiki đầy đủ các công cụ hữu ích mà hầu hết chúng ta đang sử dụng cho Joomla và quản trị / phát triển chung. Chúng tôi tách các câu trả lời, theo danh mục của các công cụ. Tất cả người dùng đều được chào đón để thêm, cập nhật thông tin trong các câu trả lời dưới đây. Câu hỏi có thể được tham khảo trong các câu trả lời khác, đặc biệt là đối với người dùng mới - và tôi nghĩ rằng nó sẽ được chào đón nồng nhiệt.
FFrewin



Câu trả lời:


17

Phát triển

Chung

  • Trình soạn nhạc Trình soạn
    thảo là một công cụ để quản lý phụ thuộc trong PHP. Nó cho phép bạn khai báo các thư viện mà dự án của bạn phụ thuộc và nó sẽ quản lý (cài đặt / cập nhật) chúng cho bạn.

  • Trình cài đặt trình soạn thảo Joomlatools
    Plugin Trình soạn thảo này sẽ cài đặt các phần mở rộng vào thiết lập Joomla của bạn.

  • FOF2 (Khung trên Khung 2)
    FOF là một khung phát triển ứng dụng nhanh chóng có trong Joomla! Nó mở rộng Joomla! Nền tảng thay vì thay thế nó, nổi bật với phiên bản mở rộng của các lớp MVC, giữ một ngữ nghĩa mạnh mẽ cho Joomla hiện có! và cung cấp các khả năng của HMVC.

  • FOF3 (Khung trên Khung 3) FOF3 cải thiện trên FOF2 / F0F2 và mang đến các công cụ mới mạnh mẽ cho Joomla 3. như một dataModel mới, Sử dụng không gian tên, thùng chứa DI, Tự động nạp lớp cho các thành phần, trình tạo giàn giáo để tự động tạo khung cho thành phần của bạn, và nhiều hơn nữa . CẢNH BÁO FOF 3.x không tương thích ngược với FOF 2.x và 1.x.

    • FOF3-Basic Một ví dụ kiểu thế giới xin chào cho Akeeba FOF3 được viết dưới dạng hướng dẫn dành cho nhà phát triển để xây dựng Joomla! thành phần từ mặt đất lên.
  • Nooku Framework
    Framework để xây dựng các phần mở rộng Joomla với ít mã hơn.



Máy phát điện mở rộng

  • Trình tạo-j Joomla-thành phần (Trình tạo thành phần cho Yeoman ) Trình
    tạo-j-thành phần cho phép bạn nhanh chóng và dễ dàng tạo ra một thành phần j Joomla mới, sử dụng mô hình thiết kế MVC và các tiêu chuẩn mã hóa được đề xuất.

    Bao gồm các:

    • Tập tin ngôn ngữ quốc tế hóa
    • Tab cho thụt lề
    • Ký hiệu biến CamelCase
    • Kiến trúc MVC phù hợp
    • Sơ khai PHPDocumentor cho mọi phương thức, cũng như các khối tài liệu cấp trang
    • Sử dụng 'hơn ", bởi vì đó là những gì thư viện Joomla chính thức sử dụng
  • Trình tạo-j Joomla-admin-template (Trình tạo mẫu quản trị viên cho Yeoman ) Trình
    tạo-j Joomla-admin-template là một trình tạo yeoman, cho phép bạn tự động tạo các mẫu quản trị viên j Joomla cho back-end của bạn.

  • Trình tạo thành phần Joomla (Truy cập miễn phí được giới hạn trong một bảng cơ sở dữ liệu) Trình
    tạo thành phần Joomla cho phép bạn tạo một thành phần Joomla đầy đủ chức năng, sẵn sàng để cài đặt, tùy chỉnh trong vài phút. Nó đang tiết kiệm hàng ngày cho các nhà phát triển Joomla hàng trăm giờ phát triển.

  • Trình xây dựng
    thành phần Trình tạo thành phần cho Joomla rất tiên tiến, thực sự có thể xây dựng các thành phần cực kỳ phức tạp trong một phần nhỏ thời gian.

  • Trình tạo mô-đun Joomla của XDSoft Trình tạo
    mô-đun Joomla của XDSoft đơn giản hóa quy trình và tiết kiệm thời gian phát triển mô-đun cho Joomla. Nó tạo cấu trúc, tạo tất cả các thư mục và tệp cần thiết, tạo tệp XML chính hợp lệ. Kết quả là, bạn nhận được một gói zip sẵn sàng để cài đặt.

  • Trình tạo plugin Joomla của ExtStore
    Joomla! Trình tạo plugin của ExtStore tạo ra một plugin trống đơn giản với các tệp cần thiết để giúp bạn nhanh chóng bắt đầu với plugin Joomla mới của mình. Sau khi điền vào biểu mẫu nhanh với tên plugin, tác giả và mô tả, bạn sẽ có gói zip sẵn sàng để cài đặt, bao gồm các tệp ngôn ngữ (en-GB).



Tài liệu & tài nguyên


Tôi đã phát triển một trình tạo mô-đun miễn phí có sẵn trên trang web của mình. Bất cứ ai sẽ nhớ tôi thêm nó vào điều này?
Lodder

@Lodder Không, hoàn toàn không.
Rene Korss

15

Môi trường:

  • Wamp (Windows)
    WampServer là môi trường phát triển web của Windows. Nó cho phép bạn tạo các ứng dụng web với Apache2, PHP và cơ sở dữ liệu MySQL. Bên cạnh đó, PhpMyAdmin cho phép bạn dễ dàng quản lý cơ sở dữ liệu của mình.

  • Mamp (Mac: Cả phiên bản Cộng đồng và Thương mại)
    MAMP cài đặt môi trường máy chủ cục bộ trong vài giây trên máy tính Mac OS X của bạn. Nó được cung cấp miễn phí (phiên bản cộng đồng) và dễ dàng cài đặt. MAMP sẽ không thỏa hiệp bất kỳ cài đặt Apache hiện có nào đang chạy trên hệ thống của bạn. Bạn có thể cài đặt Apache, PHP và MySQL mà không cần bắt đầu tập lệnh hoặc phải thay đổi bất kỳ tệp cấu hình nào!

  • Đèn (Linux)

  • Xampp (có sẵn cho tất cả các nền tảng)
    XAMPP là một bản phân phối Apache hoàn toàn miễn phí, dễ cài đặt có chứa MySQL, PHP và Perl. Gói mã nguồn mở XAMPP đã được thiết lập để cực kỳ dễ cài đặt và sử dụng.

  • Vagrant
    Vagrant là một công cụ để xây dựng môi trường phát triển hoàn chỉnh. Với quy trình làm việc dễ sử dụng và tập trung vào tự động hóa, Vagrant giảm thời gian thiết lập môi trường phát triển, tăng tính tương đương phát triển / sản xuất và làm cho "công việc trên máy của tôi" trở thành một di tích của quá khứ.

    • Hộp Joomlatools Vagrant (Máy ảo có chồng đèn)
      Dự án này tự động hóa việc thiết lập môi trường phát triển Joomla. Nó có khả năng chạy một ngăn xếp LAMP đầy đủ tính năng với một lệnh duy nhất để bạn có thể bắt đầu làm việc với các dự án Joomla của mình một cách nhanh chóng.

  • Oracle VM VirtualBox
    VirtualBox là một sản phẩm ảo hóa mạnh mẽ, giàu tính năng dành cho doanh nghiệp cũng như sử dụng tại nhà, nó có sẵn miễn phí dưới dạng Phần mềm nguồn mở (GNU GPL).

    VirtualBox chạy trên máy chủ Windows, Linux, Macintosh và Solaris và hỗ trợ một số lượng lớn hệ điều hành khách bao gồm nhưng không giới hạn ở Windows (NT 4.0, 2000, XP, Server 2003, Vista, Windows 7, Windows 8), DOS / Windows 3.x, Linux (2.4, 2.6 và 3.x), Solaris và OpenSolaris, OS / 2 và OpenBSD.

  • Ampps (có sẵn cho tất cả các nền tảng)
    AMPPS là một phần mềm dễ cài đặt của trình cài đặt tự động Apache, Mysql, PHP, Perl, Python và Softacificent có thể được sử dụng trên Máy tính để bàn và máy chủ văn phòng.

Yêu cầu hệ thống Joomla3


Chưa bao giờ sử dụng nó trước đây nhưng tôi bắt đầu sử dụng nó ngay bây giờ cho một dự án khác và nó có vẻ đầy hứa hẹn, một hộp mơ hồ Joomla (máy ảo): joomlatools.com/blog/2013/08/j Joomla
in

@fruppel - Ahh đẹp. Nếu tôi nhớ chính xác, có ai đó đã hỏi về một máy ảo cách đây không lâu ở đây. Xin vui lòng chỉnh sửa này với bất kỳ khuyến nghị bạn có. FFrewin đề xuất điều này trở thành một wiki cộng đồng cho người dùng mới sử dụng Joomla
Lodder

@FFrewin - Có lẽ nhiều câu trả lời sẽ tốt hơn. Có thể nếu mỗi phần (EnConnionments, Editors, v.v.) là những câu trả lời riêng biệt, thì người dùng có thể thêm một mô tả và ý kiến ​​cho từng phần
Lodder

1
@Lodder: Ok đồng ý, cuối cùng chúng tôi sẽ chia các câu trả lời được phân loại theo phần. Hiện tại tôi sẽ thêm một tài liệu tham khảo ngắn gọn cho 2 công cụ DB trong câu trả lời ở trên.
FFrewin

Đây là một tài nguyên tuyệt vời và phải là điểm khởi đầu cơ bản cho bất kỳ ai quan tâm đến phát triển Joomla (hoặc bất kỳ nhà phát triển web nào!). Một số trong số này là mới đối với tôi và tôi sẽ điều tra! Được đánh giá cao :)
jonboy

9

Kiểm tra:

Nếu bạn dự định viết một số lượng đáng kể mã PHP hoặc JavaScript thì tất cả các công cụ phát triển PHP và JavaScript tiêu chuẩn sẽ hữu ích, bất kể thực tế là mã của bạn sẽ chạy trong môi trường Joomla chứ không phải độc lập.

Về phía PHP:

  • XDebug : Một tiện ích mở rộng PHP dành cho nhà phát triển cho phép bạn thực hiện những việc như bước qua từng dòng mã để giúp bạn tìm lỗi. Vô giá.
  • phpUnit : Một công cụ kiểm tra. Viết các bài kiểm tra phpUnit để đảm bảo mã của bạn hoạt động
  • PHPMD : PHP "Trình phát hiện lộn xộn ". Chỉ ra mã kém chất lượng. (Rất nhiều dự án nổi tiếng thực sự có thể đã được hưởng lợi từ việc sử dụng loại công cụ này ngay từ đầu).
  • CodeSniffer và các tiêu chuẩn mã hóa Joomla: thực thi thực hành mã sạch và làm cho mã của bạn dễ đọc hơn cho các nhà phát triển mới.

Về phía JavaScript:

  • Các tính năng khác nhau của trình duyệt DevTools. Tất cả các trình duyệt chính có công cụ dev chất lượng tốt bây giờ. Firefox cũng có sẵn Firebird như một plugin cùng với các công cụ dev tích hợp, cũng rất đáng để có.
  • JSHint : Chỉ ra mã chất lượng kém và các lỗi tiềm ẩn.

Có hàng tấn công cụ như thế này, nhưng rõ ràng nó phụ thuộc vào mức độ nghiêm trọng của mã hóa của bạn - nếu bạn chỉ gõ vài chục dòng mã, sẽ không có nhiều điểm gây rối với hầu hết các ở trên. Nhưng mặt khác, nếu bạn dự định viết một plugin Joomla có kích thước hợp lý và hỗ trợ nó một thời gian, thì các công cụ trên sẽ là vô giá đối với bạn vì đã giúp bạn viết tốt.


8

Frontend (mẫu, khung, v.v.):

  • UIKit (khung)
    UIKit chỉ mới vài tuổi nhưng đã trở nên vô cùng nổi tiếng. Đó là một khung công tác nhẹ và mô-đun để phát triển giao diện web nhanh và mạnh và được sử dụng cho tất cả các mẫu của Yootheme kể từ Warp 7. Phần lớn Javascript đã được chuyển vào các thành phần riêng biệt, có nghĩa là bạn có thể tải từng giao diện khi và ở đâu muốn

  • Bootstrap (framework)
    Bootstrap là một khung công tác HTML, CSS và JS phổ biến nhất để phát triển các trang web đáp ứng. Bootstrap giúp phát triển web front-end nhanh hơn và dễ dàng hơn. Nó được tạo ra cho mọi người ở mọi cấp độ kỹ năng, thiết bị thuộc mọi hình dạng và dự án thuộc mọi quy mô, và trên hết, đó là nguồn mở, do đó được cộng đồng lưu trữ, phát triển và duy trì trên GitHub. Phiên bản 2.3.2 (không còn được hỗ trợ chính thức) cũng được bán kèm với Joomla 3.x và được sử dụng cho mẫu Protostar mặc định.

  • Yootheme (nhà cung cấp mẫu)
    Yootheme là một trong những nhà cung cấp mẫu Joomla phổ biến nhất. Họ đưa ra một mẫu mới (sử dụng khung công tác mặt trước của họ, UIKit) mỗi tháng với một thiết kế độc đáo.

  • Foundation (framework)
    Foundation là một nhóm các giao diện người dùng phản ứng nhanh, giúp dễ dàng thiết kế các trang web, ứng dụng và email đáp ứng đẹp mắt trông tuyệt vời trên mọi thiết bị. Foundation là ngữ nghĩa, dễ đọc, linh hoạt và hoàn toàn tùy biến.
  • Semantic UI (framework)
    Semantic là một khung phát triển giúp tạo ra các bố cục đẹp, đáp ứng bằng HTML thân thiện với con người.
  • Pure by Yahoo (tập hợp các mô-đun CSS nhỏ, đáp ứng)
    Pure có nghĩa là điểm khởi đầu cho mọi trang web hoặc ứng dụng web. Pure sẽ chăm sóc tất cả các công việc CSS mà mọi trang web cần, mà không làm cho nó trông giống như trình cắt cookie:

    • Một lưới đáp ứng có thể được tùy chỉnh theo nhu cầu của bạn.
    • Một cơ sở vững chắc được xây dựng trên Normalize.css để khắc phục các sự cố tương thích giữa các trình duyệt.
    • Các nút theo kiểu nhất quán làm việc với và các yếu tố.
    • Kiểu cho menu dọc và ngang, bao gồm hỗ trợ cho menu thả xuống.
    • Sắp xếp hình thức hữu ích trông tuyệt vời trên tất cả các kích thước màn hình.
    • Nhiều kiểu bàn phổ biến.
    • Một cái nhìn cực kỳ tối giản mà siêu dễ dàng để tùy chỉnh.
    • Responsive theo mặc định, với tùy chọn không đáp ứng.
    • Kích thước tệp cực nhỏ: 4,5KB rút gọn + gzip.

Chúc mừng cho sự tách biệt :). Tôi sẽ bắt đầu viết một số thông tin cho các Khung và Môi trường này một chút
Tạm dừng

@Lodder: Có, tôi muốn đăng các công cụ db này với một số thông tin khác và nghĩ rằng đã đến lúc phải tách các câu trả lời. Tôi nghĩ rằng tôi đã làm hỏng nó một chút với liên kết LAMP trong phần môi trường. Bạn có thể xem lại và thêm liên kết trước của bạn?
FFrewin

1
Chắc chắn, tôi nghĩ rằng đèn cần phải được cài đặt thông qua Ubuntu và không giống như phần mềm có thể tải xuống thông thường. Vì vậy, tôi giả sử liên kết cần phải đi đến một số hướng dẫn. Sẽ xác nhận điều đó mặc dù
Lodder

7

Công cụ trình duyệt:

  • Adobe Edge Inspect CC (miễn phí)
    Edge Inspect là một ứng dụng thiết yếu cho các nhà phát triển và thiết kế web, những người cần xem trước nội dung của họ trên nhiều thiết bị di động. Ghép nối không dây nhiều thiết bị iOS và Android với máy tính của bạn, chụp ảnh màn hình từ bất kỳ thiết bị được kết nối nào và xem kết quả thời gian thực từ các thay đổi đối với HTML, CSS và JavaScript.

  • Bọ lửa (Firefox) (Xin lưu ý rằng có một phiên bản Lite cho trình duyệt khác nhưng tôi khuyên bạn nên sử dụng trình kiểm tra tích hợp)

  • ColorZilla (Firefox & Chrome)


Tôi khuyên dùng Web Developer như một phần mở rộng tuyệt vời khác cho firefox (và chrome). Nó rất giống với con bọ lửa, nhưng nó có cấu trúc khác nhau, vì vậy có một số giá trị trong việc sử dụng cả hai.
TryHarder

7

Biên tập viên:

  • Notepad ++ (cho tốc độ cực cao và đơn giản)
  • Nguyên tử
  • Văn bản tuyệt vời (siêu nhanh và tính năng đóng gói)
  • PhpStorm (IDE PHP đầy đủ)
  • Netbeans IDE Phát triển
    nhanh chóng và dễ dàng các ứng dụng máy tính để bàn, thiết bị di động và web với Java, HTML5, PHP, C / C ++ và hơn thế nữa. NetBeans IDE là MIỄN PHÍ, mã nguồn mở và có cộng đồng người dùng và nhà phát triển trên toàn thế giới.

  • Eclipse PDT (công cụ phát triển PHP)
    Dự án PHP IDE cung cấp khung công tác môi trường phát triển tích hợp PHP cho nền tảng Eclipse. IDE Eclipse là MIỄN PHÍ và nguồn mở. Yêu cầu cài đặt java.

  • IDE đa nền tảng Komodo IDE cho tất cả các ngôn ngữ chính của bạn, bao gồm Python, PHP, Go, Perl, Tcl, Ruby, NodeJS, HTML, CSS, JavaScript và hơn thế nữa



6

Cơ sở dữ liệu

Thiết kế / Phát triển / Quản lý:

  • MySQL Workbench - (Windows, Mac, Linux)
    MySQL Workbench là một công cụ trực quan thống nhất cho các kiến ​​trúc sư cơ sở dữ liệu, nhà phát triển và DBA. MySQL Workbench cung cấp mô hình hóa dữ liệu, phát triển SQL và các công cụ quản trị toàn diện cho cấu hình máy chủ, quản trị người dùng, sao lưu và nhiều hơn nữa.
    Với MySQL Workbench, bạn có thể làm việc trực tiếp trên cơ sở dữ liệu trên các máy chủ cục bộ hoặc từ xa. Nó có sẵn trên Windows, Linux và Mac OS X.


  • Sequel Pro - (Mac)
    Sequel Pro là một ứng dụng quản lý cơ sở dữ liệu Mac nhanh, dễ sử dụng để làm việc với cơ sở dữ liệu MySQL. Nó cho phép bạn truy cập trực tiếp vào cơ sở dữ liệu MySQL của bạn trên các máy chủ cục bộ và từ xa.


  • phpMyAdmin (công cụ quản trị MySQL được viết trên PHP - thường được tìm thấy trên mọi máy chủ)
    phpMyAdmin là một công cụ phần mềm miễn phí được viết bằng PHP, nhằm xử lý việc quản trị MySQL trên Web. phpMyAdmin hỗ trợ một loạt các hoạt động trên MySQL, MariaDB và Drijection. Các hoạt động thường được sử dụng (quản lý cơ sở dữ liệu, bảng, cột, quan hệ, chỉ mục, người dùng, quyền, v.v.) có thể được thực hiện thông qua giao diện người dùng, trong khi bạn vẫn có khả năng thực hiện trực tiếp bất kỳ câu lệnh SQL nào.


  • Quản trị viên (Tương tự như phpMyAdmin, nhưng đơn giản và nhẹ hơn)
    Quản trị viên (trước đây là phpMinAdmin) là một công cụ quản lý cơ sở dữ liệu đầy đủ tính năng được viết bằng PHP. Ngược lại với phpMyAdmin, nó bao gồm một tệp duy nhất sẵn sàng để triển khai đến máy chủ đích. Quản trị viên có sẵn cho MySQL, PostgreSQL, SQLite, MS SQL, Oracle, Firebird, SimpleDB, Elaticsearch và MongoDB.


Tiện ích sao lưu máy chủ

  • MySQLDumper
    MySQLDumper là một dự án nguồn mở (giấy phép GNU), công cụ dựa trên PHP và Perl để sao lưu cơ sở dữ liệu MySQL. Nó đặc biệt phù hợp với các không gian lưu trữ chia sẻ, nơi bạn không có quyền truy cập shell và thực sự hữu ích khi cần sao lưu / tải lên / khôi phục cơ sở dữ liệu lớn, trong đó các tập lệnh php hết thời gian, vì thời gian thực thi tối đa.

  • phpMyBackupPro
    phpMyBackup Pro là một ứng dụng sao lưu MySQL dựa trên web rất dễ sử dụng, miễn phí, được cấp phép theo GNU GPL. Bạn có thể tạo các bản sao lưu theo lịch trình, quản lý và khôi phục chúng, tải xuống hoặc gửi email cho chúng và nhiều hơn nữa!

  • AutoMyQueryBackup
    AutoMyQueryBackup với cấu hình cơ bản sẽ tạo bản sao lưu hàng ngày, hàng tuần và hàng tháng của một hoặc nhiều cơ sở dữ liệu MySQL của bạn từ một hoặc nhiều máy chủ MySQL của bạn.


Kiểm soát phiên bản cơ sở dữ liệu:


Không chắc chắn họ nên vào danh mục nào, nhưng các công cụ của Akeeba đều tuyệt vời - Akeeba Backup và Kickstart để chuyển các trang web và cung cấp cho những người không có kỹ thuật một cách dễ dàng để tạo bản sao lưu của riêng họ. Một phần bảo mật có lẽ cũng đáng để có, trong trường hợp đó là Công cụ quản trị Akeeba.
Richard B

5

Kiểm soát phiên bản:

Mã nguồn:

Kiểm soát phiên bản cơ sở dữ liệu:

Trang web Joomla

  • Phần
    mở rộng môi trường của Giai đoạn Giai đoạn cho Joomla!
    Tính năng, đặc điểm:
    • Tạo môi trường dàn dựng trong vài giây
    • Phát triển trên môi trường dàn dựng với rủi ro bằng không đối với trang web trực tiếp của bạn
    • Thực hiện bất kỳ thay đổi nào bạn muốn - cập nhật tiện ích mở rộng, xóa nội dung, v.v.
    • StageIt hỗ trợ TẤT CẢ các phần mở rộng của bên thứ ba
    • Đồng bộ hóa môi trường dàn dựng với trang web trực tiếp bất cứ lúc nào
    • Nút trực quan cho phép bạn chuyển đổi ngay lập tức giữa các môi trường
    • Sao lưu tự động cho phép bạn khôi phục trang web trực tiếp của mình về bất kỳ điểm đồng bộ hóa nào
    • Định cấu hình để hoạt động với một loạt các máy chủ - ngay cả GoDaddy!

3

Yêu cầu hệ thống cho Joomla! 3.x

Ngoài ra, đối với những người mới bắt đầu và muốn thiết lập môi trường của họ, hoặc đơn giản chỉ cần cài đặt Joomla, đây là những yêu cầu hệ thống cơ bản để Joomla hoạt động:

PHP:

  • Khuyến nghị : 5,4+
  • Tối thiểu : 5.3.10+
  • Magic Trích dẫn GPC tắt
  • http://www.php.net

Cơ sở dữ liệu được hỗ trợ:

MySQL:

Máy chủ SQL:

PostgreSQL:


Máy chủ web được hỗ trợ:

Apache:

  • Các mô-đun: mod_mysql, mod_xml và mod_zlib
  • Đề xuất : 2.x +
  • Tối thiểu : 2.x +
  • http://www.apache.org

Nginx:

Microsoft IIS:

  • Đề xuất : 7
  • Tối thiểu : 7

1
tốt hơn để hỗ trợ liên kết đến các yêu cầu mới nhất, bởi vì nó được cập nhật: download.j Joomla.org/technical-requirements, ví dụ như đề xuất PHP 5.6 hoặc 7.0+
Tom Kuschel
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.