Webman Projesi Oluşturma ve Çalıştırma
Webman Nedir?
Webman, yüksek performanslı PHP asenkron bir web çerçevesi olan Workerman üzerine inşa edilmiştir. Yüksek eşzamanlılık ve yüksek performanslı web uygulamaları oluşturmak için tasarlanmıştır. Geleneksel senkron engelleme çerçevelerinin aksine, Webman olay tabanlı ve asenkron, engellenmeyen I/O kullanarak birden fazla eşzamanlı isteği işlerken mükemmel performans gösterir. Webman, basit ve kullanımı kolay bir API ve esnek genişletme mekanizması sunar, bu da onu gerçek zamanlı uygulamalar, API servisleri vb. oluşturmak için ideal hale getirir.
Webman'in Ana Özellikleri ve Avantajları
- Yüksek Performans: Olay tabanlı ve asenkron, engellenmeyen I/O üzerine kurulmuştur ve birden fazla eşzamanlı isteği işleyebilir.
- Kullanım Kolaylığı: Basit bir API ve zengin özellikler sunar, geliştiricilerin hızlı bir şekilde işe başlamasını sağlar.
- Çoklu Protokol Desteği: HTTP, WebSocket ve diğer protokolleri destekler, çeşitli uygulama senaryolarına uygundur.
- Esnek Genişletme: Eklentiler ve ara yazılımlar aracılığıyla işlev genişletmesi sağlar.
- Güçlü Topluluk Desteği: Aktif bir geliştirici topluluğuna ve bol miktarda dokümantasyon kaynağına sahiptir.
Webman, geliştiricilerin yüksek performanslı web uygulamaları ve API hizmetleri oluşturmasına yardımcı olabilir, yüksek eşzamanlı işlem gerektiren çeşitli senaryolar için uygundur.
Basit Bir Web Projesi Oluşturma ve Çalıştırma
Bu makalede, ServBay ortamında Webman kullanarak basit bir web projesi oluşturmayı ve çalıştırmayı anlatacağız. Webman yüklemeyi, temel yönlendirme ve denetleyici kodlarını yazmayı ve projeyi çalıştırmayı göstereceğiz.
::: ipucu ServBay, geliştiricilerin web sitelerini yönetimi kolaylaştırmak için /Applications/ServBay/www
dizinine yerleştirmelerini tavsiye eder. :::
Webman Yükleme
Composer Yükleme
ServBay, zaten Composer ile yüklü olarak gönderilir, ayrı bir yükleme gerekmez.
Proje Dizini Oluşturma
ServBay'in www dizinine girin:
bashcd /Applications/ServBay/www
1Webman Yükleme
Composer kullanarak Webman'ı yükleyin:
bashcomposer create-project workerman/webman servbay-webman-app cd servbay-webman-app
1
2Gerekli Bileşenleri Yükleme
Illuminate veritabanı, sayfalandırma, olaylar ve Symfony VarDumper'ı yükleyin:
bashcomposer require -W illuminate/database illuminate/redis illuminate/pagination illuminate/events symfony/var-dumper
1
Web Proje Kodu Yazma
Yönlendirme Yapılandırma
config/route.php
dosyasına temel yönlendirmeleri tanımlamak için aşağıdaki kodu ekleyin:phpuse Webman\Route; use app\controller\IndexController; use app\controller\CacheController; use app\controller\DatabaseController; Route::any('/', [IndexController::class, 'index']); Route::any('/memcached', [CacheController::class, 'memcached']); Route::any('/redis', [CacheController::class, 'redis']); Route::any('/mysql-add', [DatabaseController::class, 'mysqlAdd']); Route::any('/mysql', [DatabaseController::class, 'mysqlGet']); Route::any('/pgsql-add', [DatabaseController::class, 'pgsqlAdd']); Route::any('/pgsql', [DatabaseController::class, 'pgsqlGet']);
1
2
3
4
5
6
7
8
9
10
11
12Denetleyici Oluşturma
app/controller
dizinindeIndexController.php
,CacheController.php
veDatabaseController.php
dosyalarını oluşturun ve aşağıdaki kodları ekleyin:IndexController.php
dosyası:phpnamespace app\controller; use support\Request; class IndexController { public function index(Request $request) { return response('Hello ServBay!'); } }
1
2
3
4
5
6
7
8
9
10
11CacheController.php
dosyası:phpnamespace app\controller; use support\Request; use support\Response; use Memcached; use support\Redis; class CacheController { public function memcached(Request $request): Response { $memcached = new Memcached(); $memcached->addServer('127.0.0.1', 11211); $memcached->set('key', 'Hello Memcached!', 60); $value = $memcached->get('key'); return response($value); } public function redis(Request $request): Response { Redis::set('key', 'Hello Redis!'); $value = Redis::get('key'); return response($value); } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25DatabaseController.php
dosyası:phpnamespace app\controller; use support\Request; use support\Response; use support\Db; class DatabaseController { public function mysqlAdd(Request $request): Response { DB::connection('mysql')->table('users')->insert([ 'name' => 'Webman', 'email' => '[email protected]', ]); return response('User added'); } public function mysqlGet(Request $request): Response { $users = DB::connection('mysql')->table('users')->get(); return response(json_encode($users)); } public function pgsqlAdd(Request $request): Response { DB::connection('pgsql')->table('users')->insert([ 'name' => 'Webman', 'email' => '[email protected]', ]); return response('User added'); } public function pgsqlGet(Request $request): Response { $users = DB::connection('pgsql')->table('users')->get(); return response(json_encode($users)); } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38Veritabanı Bağlantısını Yapılandırma
config/database.php
dosyasında MySQL ve PostgreSQL bağlantı bilgilerini yapılandırın:phpreturn [ 'default' => 'mysql', 'connections' => [ 'mysql' => [ 'driver' => 'mysql', 'host' => '127.0.0.1', 'port' => 3306, 'database' => 'webman_app', 'username' => 'root', 'password' => 'password', 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'strict' => true, 'engine' => null, ], 'pgsql' => [ 'driver' => 'pgsql', 'host' => '127.0.0.1', 'port' => 5432, 'database' => 'webman_app', 'username' => 'root', 'password' => 'password', 'charset' => 'utf8', 'prefix' => '', 'schema' => 'public', 'sslmode' => 'prefer', ], ], ];
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Web Projesini Çalıştırma
Proje dizininde aşağıdaki komutu çalıştırarak Webman projesini başlatın:
php start.php start
Başlattıktan sonra, tarayıcıda aşağıdaki URL'leri ziyaret edebilirsiniz:
http://localhost:8787
: Bu sayfadaHello ServBay!
görüntülenecektir.http://localhost:8787/memcached
: Bu sayfadaHello Memcached!
görüntülenecektir.http://localhost:8787/redis
: Bu sayfadaHello Redis!
görüntülenecektir.http://localhost:8787/mysql-add
: Bu sayfadaUser added
görüntülenecek ve veritabanına bir kullanıcı eklenecektir.http://localhost:8787/mysql
: Bu sayfada veritabanındaki kullanıcı listesi görüntülenecektir.http://localhost:8787/pgsql-add
: Bu sayfadaUser added
görüntülenecek ve veritabanına bir kullanıcı eklenecektir.http://localhost:8787/pgsql
: Bu sayfada veritabanındaki kullanıcı listesi görüntülenecektir.
Özet
Yukarıdaki adımlarla, ServBay aracılığıyla bir Webman projesi oluşturup çalıştırdınız ve Webman'in sunduğu işlevleri kullanarak projenizi yönettiniz. Ayrıca, çeşitli veritabanlarına bağlandınız ve veri çağırdınız. Webman'in yüksek performansı ve kullanım kolaylığı, onu yüksek eşzamanlılık ve yüksek performans gerektiren web uygulamaları ve API hizmetleri oluşturmak için çok uygun hale getirir. Umarım bu makale, Webman'i hızlı bir şekilde öğrenmenize ve projelerinizde kullanmanıza yardımcı olur.