Trao đổi về dự án

Danh mục

PHP

41 bài viết Trang 2

PHP FFI : các callback — phần 3

Phản HồiTrong quá trình chuẩn bị bài viết này, tôi nhận thấy rằng nhiều tài nguyên trên internet trực tiếp sử dụng thư viện libc cho các ví dụ của họ. Bạn có thể dễ dàng tìm thấy những ví dụ đơn giản và trực quan. Nhưng để làm điều gì đó thú vị và độc đáo, tôi đã nghĩ "hãy tìm một cái gì đó để thể hiện với libc này". Dù sao đi nữa… nếu chỉ là truyền một cấu trúc như hầu hết các ví dụ, nó sẽ không hữu ích. Và sau đó, tôi tình cờ thấy một chức năng trong một...

PHP FFI: truyền tham số — phần 2

Gọi trực tiếp thư viện PHP?Nếu chúng ta viết một đoạn code vô dụng thì sao? Hãy thử nào!!! Hãy thử nào!! Hãy thử nào!!!Được rồi, OK. Tôi đề xuất chúng ta làm điều gì đó vô dụng bằng cách sử dụng PHP để gọi một thư viện C sử dụng Zend Engine.Thực ra, đoạn văn này không hề vô dụng như bạn nghĩ. Mục đích của nó là để cho bạn thấy một hành vi đặc biệt 😊PHP-FFI có một số hạn chế: bạn không thể truyền trực tiếp một biến PHP để lấy giá trị động của nó từ thư viện bên ngoài.Bạn chỉ có thể truyền các ...

PHP FFI: giới thiệu — phần 1

Giới thiệuTừ phiên bản 7.4 của PHP, chúng ta cuối cùng cũng có quyền truy cập vào các chức năng tương tác giữa các ngôn ngữ khác nhau và PHP: FFI hay Giao diện Chức năng Ngoại vi.FFI là gì? Đơn giản là khả năng sử dụng thư viện bên ngoài (.dll hoặc .so) trực tiếp trong PHP, mà không cần tạo ra một extension PHP. Vâng, chỉ với một script PHP! Đó là, trong số những thứ khác, điều đã làm cho Python trở nên nổi tiếng và cho phép nó có nhiều tính năng hơn.Điều tuyệt vời về FFI là một nhà phát tri...

Symfony 6 / Sonata 5: Cài đặt SonataClassification.

Place translated content here. be sure to have the initial strucure and placeholders. Điều chỉnh ví dụ cho phù hợp với phiên bản đã cài đặt Các ví dụ Symfony và Sonata vẫn gắn với các phiên bản được chỉ ra trong bài viết. Symfony 4.x và Symfony 6.2 không còn được duy trì: đối với một dự án hiện tại, hãy sử dụng một nhánh được duy trì và tài liệu tương ứng chính xác với các phụ thuộc của bạn. php bin/console about composer show symfony/framework-bundle sonata-project/admin-bundle Trước khi t...

Symfony 6 / Sonata 5: Liên kết các ngôn ngữ và múi giờ với sở thích của người dùng.

Chúng tôi đã thấy trong một bài viết trước cách cài đặt Symfony 6 + Sonata Admin 5 với quản lý người dùng và quản lý media. Chúng tôi sẽ tiếp tục cài đặt này với cấu hình ngôn ngữ và múi giờ. Chúng tôi sẽ cài đặt intlBundle giúp quản lý hiển thị theo địa phương. php8.1 composer.phar require sonata-project/intl-bundle Chúng tôi nhân cơ hội này để thêm trường múi giờ và ngôn ngữ vào người dùng.Để làm điều này, chúng tôi sẽ mở rộng userBundle và thêm trường vào trong admin. Chúng tôi mở rộ...

Symfony 6 / Sonata 5 : Khởi tạo một dự án Symfony 6 + Sonata admin 5 + UserBundle + MediaBundle

Đây là các lệnh để khởi tạo một dự án Symfony với quản trị an toàn. Để chạy Symfony 6, chúng ta cần cài đặt php8.0 hoặc php8.1 Đối với php8.0 sudo apt-get install php8.0-cli libapache2-mod-php8.0 php8.0-common php8.0-opcache php8.0-igbinary php8.0-imagick php8.0-msgpack php8.0-readline php8.0-memcached php8.0-xml php8.0-mbstring php8.0-gd php8.0-mysql php8.0-curl php8.0-intl php8.0-memcache php8.0-memcached memcached libapache2-mod-php8.0 php8.0-zip php8.0-mysql Đối với php8.1 su...

Symfony 4 / Sonata: Tạo một giao diện thứ hai với cùng một thực thể

Ở đây chúng ta sẽ xem cách tạo một giao diện thứ hai trong khi thực thể đang được sử dụng trong giao diện CRUD.Vấn đề với các giao diện tự động tạo là chúng sử dụng tên của thực thể để xây dựng các tuyến đường.Nếu chúng ta cấu hình một giao diện thứ hai với một thực thể đã được sử dụng, chúng ta sẽ kết thúc với cùng một tuyến đường như cái đầu tiên.Để giải quyết vấn đề này, chúng ta sẽ sử dụng hai tham số này trong lớp quản trị của mình để ghi đè các giá trị mặc định.Giả sử chúng ta đang sử d...

Symfony 4 / Sonata : quản lý một giao diện quản trị đa ngôn ngữ

Chúng ta sẽ xem cách thiết lập giao diện quản trị đa ngôn ngữ với nút chọn ngôn ngữ (bộ chuyển đổi ngôn ngữ).Cài đặt translationBundle composer require sonata-project/translation-bundle bin/console assets:install Bộ chuyển đổi ngôn ngữ yêu cầu một bộ lọc twig cụ thể.Nếu không, bạn sẽ nhận được lỗi như:Unknown "language_name" filter.Sau đó, bạn cần cài đặt hai gói này composer require twig/intl-extra composer require twig/extra-bundle bin/console cache:clear Chúng ta thêm cấu hình mặc định # ...

Symfony 4 / Sonata: quản lý giao diện quản trị đa máy chủ

Chúng ta sẽ xem cách quản lý giao diện quản trị kết nối với nhiều máy chủ.Trong ví dụ của chúng ta, chúng ta đã thiết lập một máy chủ MySQL mặc định quản lý giao diện quản trị của chúng ta. Người dùng, phương tiện truyền thông, v.v.Và chúng ta đã thiết lập một máy chủ PostgreSQL chứa một bảng mà chúng ta muốn quản lý.Chúng ta có thể thêm bao nhiêu máy chủ tùy ý.Máy chủ MySQL của chúng taChúng ta đã thiết lập truyền thống một phiên bản Sonata Symfony mặc định với kết nối MySQL cổ điển. Vì vậy,...

Symfony 4 / Sonata : Sử dụng các trường JSON

Chúng ta sẽ xem cách khai thác kiểu trường Jsonb từ PostgreSQL trong một giao diện được tạo bởi Sonata.Chúng ta bắt đầu với giả định rằng bạn đã nắm vững các khái niệm cơ bản của Symfony, Sonata, và PostgreSQL.Đầu tiên, hãy tạo một bảng đơn giản trong PostgreSQL sẽ chứa trường Jsonb. CREATE SEQUENCE public.table1_id_seq; CREATE TABLE public.table1 ( id integer DEFAULT nextval('public.table1_id_seq'::regclass) NOT NULL, var1 character varying(250), v...

Symfony 4 / Sonata : tạo một loại trường biểu mẫu tùy chỉnh

Chúng ta sẽ xem làm thế nào để tạo một loại trường tùy chỉnh. Trong ví dụ của chúng ta, chúng ta muốn một trường có cùng cách hiển thị như trường MoneyType nhưng chúng ta có thể thêm bất kỳ hậu tố nào, vì trường tiền tệ chỉ chấp nhận các loại tiền tệ. Tuy nhiên, trong dự án của chúng ta, chúng ta muốn sử dụng kilogram, tháng hoặc thậm chí là kilômét. Nói chung, một loạt các loại dữ liệu có thể có.Chúng ta bắt đầu bằng cách tạo lớp Type của chúng ta: <?php // src/Form/Type/NumberSuffixType...

Symfony 4 / Sonata: Tạo một giao diện cài đặt.

Một trong những nhu cầu thường xuyên của dự án web là cần có các tham số toàn cục cho ứng dụng của bạn. Thông thường, chúng được lưu trữ trong một tệp yml và đó là tất cả những gì bạn cần. Nhưng mọi thứ trở nên phức tạp khi khách hàng yêu cầu được kiểm soát chúng.Cho họ quyền truy cập FTP/SSH để chỉnh sửa chúng? Không, tuyệt đối không. Đặc biệt nếu nhiệm vụ này được giao cho một thực tập sinh.Bạn cần phải cung cấp cho họ một giao diện quản trị với một biểu mẫu để có thể chỉnh sửa các tham số ...