Composer - Công cụ tuyệt vời dành cho PHP
Trước khi Composer ra đời, chúng ta thường khó chịu với hàng tá các thư viện của bên thứ ba cần phải quản lý, rất khó khăn để cập nhật và còn lại các khâu cài đặt lằng quằng. Đó là quá khứ thôi, sự ra đời của Composer đã làm thay đổi hoàn toàn mọi thứ rồi. Trong bài viết này chúng ta sẽ tìm hiểu về ...
Cài đặt server/VPS để chạy được cả PHP và Rails
Mục đích: để tận dụng tối đa server, như mình thì là để đỡ tốn tiền :)) Mình chỉ định thuê 1 cái VPS, nhưng vừa muốn nó có thể host được 2 cái blog wordpress của mình. Bên cạnh đó cũng muốn nó có thể chạy được app Rails của mình nữa. Kết quả mong muốn: sau khi setup, các app sẽ chạy ngon như ...
Quản lí các thư viện PHP với Composer
Update: các bạn có thể dùng prestissimo để tăng tốc độ cài đặt cho Composer (Parallel Composer) Gõ dòng lệnh này vào: composer global require hirak/prestissimo credit: @VuNhatMinh Vài năm trước, nếu bạn có biết đến PHP, chắc hẳn bạn sẽ phải viết lại một mớ code cho các tác vụ cơ bản ...
[Quán cơm bình dân] Thực đơn số 1: Cơm bình dân Dependency Injection - Phần 1
Cuối tuần mình có thư giãn bằng cách đọc hiểu và ứng dụng một chút về dependency injection . Cảm thấy khá thấm nên muốn chia sẻ cho các bạn về những gì mình nắm được, chúng ta có thể trao đổi và thảo luận. Mình cũng nảy ra ý tưởng sẽ viết các log có tính chất bình dân hóa về tin học, các kỹ ...
Manage your development environment with Vagrant + Cheft
Sử dụng máy ảo Vagrant cho môi trường development trong team đã thành một “quy luật bất thành văn” nhờ sự hiểu quả, thuận tiện và đồng nhất mà Vagrant mang lại. Đồng nhất OS cho việc development, đa dạng sử dụng trên nhiều OS khác nhau là điểm mạnh của Vagrant. Và sự kết hợp với ...
Laravel 5.1 - bản nâng cấp ấn tượng
Laravel vừa thông báo nâng cấp bản v5.1, lần đầu tiên trong lịch sử cung cấp chính sách hỗ trợ dài hạn (long-time support) với người dùng. Chúng ta cũng cùng nhìn lại những tính năng mới nổi bật lần này Kể từ khi ra đời năm 2011, Laravel luôn luôn đi theo "chân ngôn" release early, ...
Check nguồn truy cập dựa trên IP nhà mạng
Check nguồn truy cập dựa trên IP nhà mạng. Trong 1 số ứng dụng website cần detect người dùng truy cập từ mạng (di động) nào. Có nhiều cách để detect được. Thông thường nếu làm việc trực tiếp với nhà mạng thì chỉ cần lấy Params Header là xong. Nhưng vấn đề là không có thì thì có check được không? ...
Cấu trúc thư mục theme wordpress
Để bắt đầu làm thêm của riêng bạn thì ban đầu bạn phải có một theme trắng ( Blank theme ) để bắt đầu Theme trắng là gồm có các thư mục và file cơ bản của theme WordPress. Bạn có thể vào trang http://underscores.me/ . Đầu tiên bạn vào trang http://underscores.me/ . Sau đó bạn ghi tên mà ...
Laravel blade stacks
Laravel có một tính năng rất hay dành cho blade template đó là đẩy các đoạn scripts hay style vào một khối nào đó trên layout một cách dễ dàng, ví dụ như: @push('scripts') <script src="/example.js"></script> @endpush Bạn có thể dùng đoạn mã đó nhiều lần và mỗi lần như vậy nó ...
Tự động thêm CSRF Token vào mọi truy vấn Ajax trong CodeIgniter
Trong CodeIgniter, khi bạn thiết lập cấu hình bật bảo vệ CSRF (Cross Site Request Forgery) trong config.php $config['csrf_protection'] = TRUE; thì mọi truy vấn từ client tới server đều được kiểm tra xem có chứa token hay không. Khi làm việc với các truy vấn ajax thì bạn sẽ phải thêm tham số ...
Bảo mật hơn trong tải file
Tải trên tiêu đề bài viết là tải lên lẫn tải xuống . Trong đó sẽ nói ra một số các phòng trách được lỗi đã nói trong bài viết Khai thác lỗ hổng của chức năng download file. Mình sẽ trình bày theo các phần như sau: Phạm vi máy chủ. Phạm vi mã nguồn. Phạm vi máy chủ Có hai vấn đề ...
Cách download CSV trong framework Fuelphp
Download CSV cho framework Fuelphp http://fuelphp.com/ Tạo file app/classes/format.php <?php // app/classes/format.php を作成 class Format extends FuelCoreFormat { /** * CSV出力をSJIS-WINで返す * @access public * @param mixed $data * @return ...
Trim space fullsize và halfsize bằng Regex trong PHP
Hàm số trim space fullsize và halfsize trong PHP /** * Remove space fullsize * * @param string $str string before remove * @return string after removed */ public static function mb_trim($str, $chars = 's ') { $str = preg_replace("/^[$chars]+/u", ', $str); $str = preg_replace("/[$chars] ...
99-bottles-of-beer
The song, and the home page 99-bottles-of-beer cũng từng là đề bài của code golf và phpgolf. Mission của chúng ta là code 1 đoạn PHP snippet print lyric của bài hát mà dung lượng đoạn code là nhỏ nhất. Logic thật đơn giản phải không :D 99 bottles of beer on the wall, 99 bottles of beer. Take ...
Thay đổi thư mục Public trong laravel framework
Trong quá trình làm việc với laravel, đôi khi sẽ có thay đổi chút về thư mục public trong laravel. Cụ thể như khi chạy nó trên các shared hosting thường là chỉ có thư mục public_html hoặc một số qui định bắt buộc ở các môi trường khác nhau mà tên thư mục này sẽ đổi theo, và trong bài này mình sẽ ...
ServiceManager trong ZF2
Service Manager là một Design Pattern quan trọng được đưa vào trong ZF2, Service Manager sẽ trả về cho bạn một đối tượng được đăng ký trong ứng dụng. Service Manager cung cấp rất nhiều cách để bạn đăng ký một service. 1. Factory 1.1 Sử dụng Anonymous Function Với các bạn đã làm quen ...
Mã mô phỏng lỗ hổng CVE-2015-4024
Như đã mô tả trong bài viết trước, CVE-2015-4024 là một lỗ hổng nghiệm trọng của hầu hết các phiên bản PHP và mới chỉ được vá gần đây. Trong báo cáo bug thì người phát hiện (một nhà nghiên cứu an ninh ở Baidu Trung Quốc) đã tái hiện tình huống và phân tích cụ thể, tuy nhiên chưa đưa ra đoạn mã mô ...
7 bước làm trang web bán hàng ( phần 1 )
7 bước làm trang web bán hàng ( phần 1 ) Với wordpress , thì việc làm 1 site bán hàng thì plugin woocommerce là một lựa chọn khá là hợp lý. Nhưng mà đối với nhu cầu của chúng ta là chỉ để show sản phẩm, và đặt hàng đơn giản thì plugin lại quá cồng kềnh, vì nó có nhiều chức năng mà ta không ...
Late static binding trong PHP
Trong PHP 5.3 ngoài các tính năng mới như namespace, closure được giới thiệu thì còn một tính năng nữa ít được chú ý hơn (ít nhất là mình nhận thấy vậy) đó là late static binding. Thì đầu tiên chúng ta cần phải biết late static binding là gì? Cái này mình cũng không biết giải thích sao nữa. Thôi ...
Bước đầu với Lumen
Để sử dụng Laravel hay Lumen thì trước hết phải có composer . Bạn có thể cài đặt cả composer và lumen như các câu lệnh dưới đây. # Cài đặt composer curl -sS https://getcomposer.org/installer | php # Lấy file composer.phar về thư mục hiện tại sudo mv composer.phar /usr/local/bin/compo ...