Diễn đàn PHP - HTML - CSS Remake CMS - Dựng wap/web bằng twig giống wap4

Remake CMS - Dựng wap/web bằng twig giống wap4

536 lượt xem
22/09/2024 09:20 Bình luận (6)
Code này đơn giản thui :3 làm lại từ cms đã share

• Tính năng:
- Tạo lập bằng twig, html, css, js
- Upload hình ảnh
- Dữ liệu tuỳ chỉnh (Chủ yếu dạng json)

• Nói chung là giống wap4

• Up file zip lên host giải nén
• Vào /tinyFile (không có bật đăng nhập, nên đổi đường dẫn khác để không ai biết :>) để quản lí tệp
• Tìm đến file: /cpanel/core.php để cấu hình (thay đổi tài khoản đăng nhập CPanel)
• Vào /cpanel để tạo lập

Thắc mắc cmt :33



Tải xuống file zip:


Dự phòng:
Dai, tờ ròm, hieucter đã thích bài viết này
BÌNH LUẬN (6)
Tag Quote
File zip:
Tag Quote
À tạo cơ sở dữ liệu tên 'custom_data' nhé :))
Tag Quote
nhìn chung thì thấy cũng được. nhưng chú ý về hiệu suất. dùng json_decode và json_encode khá nhiều, nếu nhiều data như dorew ngày xưa thì dễ dẫn đến độ trễ rất cao.
với cấu trúc data như này thì chỉ phù hợp với mysql 5.5, nếu dùng mysql 5.7 trở lên thì phải thay đổi lại code 1 chút vì từ 5.7 mysql phân biệt rạch ròi giữa json và text, không cho nhập string dạng json vào text.
Tag Quote
với twig2 trở lên, phòng trường hợp nhận được lỗi 500 khi tắt display_error hoặc muốn ẩn url file gốc lỗi đối với guest thì tròm khuyên nên dùng thêm cấu trúc try-catch, ví dụ:
    public function render($file, $data = [], $assets = null)
    {
        try {
            // content type
            $ext_path = explode('.', $file);
            if (count($ext_path) < 2) {
                $check_ext = 'html';
            } else {
                $check_ext = array_pop($ext_path);
            }
            $check_ext = strtolower($check_ext);
            header('Content-Type: ' . self::get_format($check_ext));

            // view
            if (!in_array($assets, MIME_RENDER)) {
                $result = readfile(TPL . '/' . $file);
            } else {
                $result = $this->twig->render($file . '.twig', $data);
            }
        } catch (\Twig\Error\SyntaxError $e) {
            $result = 'Syntax Error: ' . $this->exceptionPath($e->getMessage(), $e->getTemplateLine(), $e->getSourceContext()->getPath());
        } catch (\Twig\Error\RuntimeError $e) {
            $result = 'Runtime Error: ' . $this->exceptionPath($e->getMessage(), $e->getTemplateLine(), $e->getSourceContext()->getPath());
        } catch (\Twig\Error\LoaderError $e) {
            $result = 'Loader Error: ' . $this->exceptionPath($e->getMessage(), $e->getTemplateLine(), $e->getSourceContext()->getPath());
        } catch (\Twig\Error\Error $e) {
            $result = 'Error: ' . $this->exceptionPath($e->getMessage(), $e->getTemplateLine(), $e->getSourceContext()->getPath());
        } catch (\Exception $e) {
            $result = $e->getMessage();
        }
        return $result;
    }
Tag Quote
đặt ở file TwigFunctions hả tròm :>
Tag Quote
thêm cái này vào index.php là xong.

try {
    echo $twig->render($pathTWIG);
} catch (\Exception $e) {
    echo $e->getMessage();
}


Vào /libs/core.php tắt display_error

Viết bình luận

Vui lòng đăng nhập để tham gia bình luận.

Trang chủ Tìm kiếm Trò chuyện Đăng nhập