Mockery exception: could not load mock class already exists

Mockery\Exception\RuntimeException: Could not load mock , class already exists When working with those spaghetti legacy code base, sometimes, it is fucking hard to write the test along with refactoring. We may face with some situation that need to mock the public static function call. class Foo { public function bar() { Utils::staticFunction(); // do another thing } } And the test class: use \Mockery as m; use Foo; class FooTest { public function testBar() { $out = new Foo(); $utils = m::mock('alias:Utils'); $util->shouldReceive('staticFunction')->withAnyArgs(); $out->bar(); // do another mock and test } } We use mockery to mock the static function call, run the test with single function, it’s green....

July 5, 2017 · 1 min · longka

SEO Bot baiting from idea to practice

What the hell is BOT: * Those big giant search engine has there own bot for scrapping all the data of the website everyday * Understanding how the search engine bot works will help us a lot when doing SEO Bot Bating concept: Main idea: injecting those page with high google search volume (GSV), but low google crawling frequency (GCF) INTO those pages have high GCF Google search volume (GSV) https://support....

July 4, 2017 · 1 min · longka

Contextual binding in laravel and how to make your code meet O in SOLID principles

Sometimes, we meet these kind of use cases or features when doing web application programming: 1 - multiple type of report to generate 2- multiple type of discount to handle 3- multiple type of payment to handle I recently faced with this use case when doing a freelance project for my customer. The requirement for this use case is that we have 2 types of reporting: human resources reporting and accounting reporting....

April 29, 2016 · 4 min · longka

Một vài lưu ý khi cài đặt php7 (php-fpm) từ source code trên linux (fedora)

Giả sử bạn muốn cài đặt trên fedora, php7, php-fpm với nginx là proxy hứng request đẩy qua cho php xử lý (thông qua php-fpm). Khi cài đặt từ source code có thể bạn sẽ gặp những vấn đề sau: Thiếu các thư viện khi chạy lệnh ./congigure Chỉ định đường dẫn đến thư mục sẽ cài php mà bạn muốn( hữu ích khi bạn muốn cài nhiều phiên bản php trên môi trường làm việc của bạn)....

March 1, 2016 · 2 min · longka

Release optivo mail client for laravel

Optivo is quite big mail service provider in Germany https://www.optivo.com/en. This is one of optivo mail client for laravel (use Optivo HTTP API) https://github.com/nguyentienlong/laravel-optivo https://packagist.org/packages/longka/laravel-optivo Todo: write an article about how to create your own laravel package like this package...

February 28, 2016 · 1 min · longka

Vọc vạch View trong laravel

Bài này dịch từ bài này ;) Khi làm việc với laravel, chắc hẳn bạn dùng rất nhiều đoạn code này. Nó rất tiện lợi trong việc trả về một view sau khi controller thực thi các tác vụ liên quan đến business requirement. return view('a/b/c.d.e.f', ['param' => $value]); Tuy nhiên, nó làm việc thế nào, hơi bị ảo đúng không nhỉ? Cùng đào sâu tìm hiểu thử xem thế nào?...

February 2, 2016 · 4 min · longka

Deeper look into laravel view helper function

When working with laravel, you may use this line of code pretty much. Its really helpfull to return a view after calling those business stuff inside a controller. return view('a/b/c.d.e.f', ['param' => $value]); However, have you ever ask yourself that how does it work ? Well, you can check with Laravel document about view here https://laravel.com/docs/master/views But, I think it’s not adequate. How that line of code actually works ?...

February 2, 2016 · 3 min · longka

Single Responsibility trong SOLID Principle

Bài viết này bàn về S trong SOLID principle. Trong bài viết này http://longka.info/blog/2015/10/26/a-note-about-solid-principles-demo-in-symfony2/ , mình nói sơ qua về ý nghĩa của từng nguyên tắc trong SOLID và demo với symfony2. S: Single Responsibility - tức là một class chỉ nên đảm nhận một nhiệm vụ, hoặc một class nếu có một lý do nào đó để thay đổi thì chỉ có một lý do (_ A class should have only one reason to change_ [1])...

January 24, 2016 · 5 min · longka

composer namespace và autoload với psr 4

Mục đích bài viết: Bạn muốn sử dụng namespace va` psr4? namspace là gì: khi lập trình với JAVA hoặc .NET, chúng ta muốn gom những class liên quan đế nhau vào một package hay namespace. psr4 là gì http://www.php-fig.org/psr/psr-4/ - là chuẩn để autoload các classes từ đường dẫn chứa classes cần load tự động (autoload) Vậy autoload là gì? Nhiều người trong chúng ta viết chương trình theo phương pháp hướng đối tượng (OOP) và cứ mỗi class lại viết một file cho nó (theo cách mà JAVA hay ....

January 23, 2016 · 3 min · longka

php 7 return types and overriding an interface

interface IA { public function func1() : bool ; } class A implements IA { public function func1() : bool { //echo 'this is func1 override from IA'; return "this is string"; } } $objA = new A; echo($objA->func1()); interface IA { public function func1() : bool ; } class A implements IA { public function func1() : string { //echo 'this is func1 override from IA'; return "this is string"; } } $objA = new A; echo($objA->func1()); declare(strict_types=1) ?...

January 20, 2016 · 1 min · longka