ArabicEnglishTurkish

Tipik bir Laravel projesinin proje yapısını kısaca tanımı nedir?

Tipik bir Laravel projesinin proje yapısını kısaca tanımı nedir?
Tipik bir Laravel projesinin proje yapısını kısaca tanımı nedir?
Tipik bir Laravel projesinin proje yapısını kısaca tanımı nedir?
Tipik bir Laravel projesinin proje yapısını kısaca tanımı nedir?
Kategori: PHP

Laravel, PHP programlama dilini kullanarak web uygulamaları geliştirmek için son derece popüler bir çerçevedir. Tipik bir Laravel projesinin yapısı, belirli klasörlerin ve dosyaların belirli amaçlar için kullanılmasıyla belirlenir. Bu klasörler şunlardır:
1. App: Bu klasör, uygulamanın çekirdeğini oluşturan PHP dosyalarını içerir. Bu klasör altındaki Models, Views ve Controllers klasörleri, web uygulamanızın diğer bileşenleri ile etkileşim kurarlar.
İlgili kod örneği:
```
namespace App\\Http\\Controllers;
use Illuminate\\Http\\Request;
use App\\User;
class UserController extends Controller
{
public function index()
{
$users = User::all();
return view('users.index', compact('users'));
}
public function show($id)
{
$user = User::find($id);
return view('users.show', compact('user'));
}
}
?>
```
2. Config: Bu klasör, uygulamanın yapılandırma ayarlarını içerir. Bu ayarlar, örneğin veritabanı bağlantısı ve uygulamanın genel ayarlarını içerir.
İlgili kod örneği:
```
return [
'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => env('MAIL_HOST', 'smtp.gmail.com'),
'port' => env('MAIL_PORT', 587),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
];
?>
```
3. Database: Bu klasör, veritabanı migrasyonları, tohumlama işlemleri ve SQLite veritabanı dosyaları gibi veritabanı ile ilgili dosyaları içerir.
İlgili kod örneği:
```
use Illuminate\\Support\\Facades\\Schema;
use Illuminate\\Database\\Schema\\Blueprint;
use Illuminate\\Database\\Migrations\\Migration;
class CreateUsersTable extends Migration
{
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('users');
}
}
?>
```
4. Public: Bu klasör, web sunucusuna gönderilecek dosyaları (ör. CSS, JS, görüntüler, vb.) içerir.
5. Resources: Bu klasör, uygulamanızın kaynak dosyalarını (ör. CSS, JS, görüntüler, genel görünümler) içerir.
6. Routes: Bu klasör, uygulamanızın yönlendiricilerini içerir. Laravel, URL 'leri belirli eylemlere yönlendirmek için Route kavramını kullanır.
İlgili kod örneği:
```
Route::get('/', function () {
return view('welcome');
});
Route::get('/users', 'UserController@index');
Route::get('/users/{id}', 'UserController@show');
```
7. Tests: Bu klasör, uygulamanızın birim testlerini içerir.
Yukarıdaki klasörler, Laravel uygulamaları için tipik bir proje yapısıdır. Ancak burada yer almayan bazı klasör ve dosyalar (ör. vendor) da uygulamanızda olabilir.
Laravel uygulama yapısının detaylı bilgisi için Laravel belgelerine bakabilirsiniz: https://laravel.com/docs/7.x/structure

Abaküs Yazılım
Abaküs Yazılım