> For the complete documentation index, see [llms.txt](https://docs.layraweb.com.tr/merhaba/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.layraweb.com.tr/merhaba/php-tarafi/konular/framework/mvc-tasarim-deseni.md).

# MVC Tasarım Deseni

MVC tasarım deseni, Model-View-Controller'ın kısaltmasıdır ve bir uygulamanın farklı katmanlarının birbirinden ayrılmasına olanak tanır. Bu tasarım deseni, uygulamanın geliştirilmesi ve bakımı için daha organize ve sürdürülebilir bir yaklaşım sunar.

MVC tasarım deseninin üç temel bileşeni şunlardır:

1. Model: Uygulamanın verilerinin saklanması, işlenmesi ve güncellenmesinden sorumludur. Veritabanı işlemleri, dosya okuma/yazma işlemleri gibi işlemler genellikle model katmanında yapılır.
2. View: Uygulamanın kullanıcı arayüzünün görüntülenmesinden sorumludur. HTML, CSS, JavaScript gibi teknolojiler kullanılarak oluşturulan sayfalar view katmanında yer alır.
3. Controller: Kullanıcının isteklerinin yönetilmesinden sorumludur ve model ve view katmanlarını birleştirir. İstekleri işleyerek model katmanından verileri alır ve view katmanında bu verileri görüntülemek için kullanır.

PHP'de popüler bir MVC framework'ü olan Laravel örneği üzerinden MVC tasarım deseninin nasıl kullanıldığına bakalım:

1. Model: Laravel'de model sınıfları "app/Models" klasörü altında yer alır. Örneğin, "User" adlı bir model sınıfı oluşturmak istediğinizde, aşağıdaki komutu kullanabilirsiniz:

   ```php
   php artisan make:model User
   ```

   Bu komut, "User" adlı bir model sınıfı oluşturacak ve bu sınıfın "app/Models" klasöründe yer almasını sağlayacaktır.
2. View: Laravel'de view'lar "resources/views" klasörü altında yer alır. Örneğin, "welcome.blade.php" adlı bir view oluşturmak istediğinizde, aşağıdaki kodu kullanabilirsiniz:

   ```html
   <html>
       <head>
           <title>Welcome</title>
       </head>
       <body>
           <h1>Welcome to my website</h1>
       </body>
   </html>
   ```

   Bu kod, "resources/views/welcome.blade.php" dosyasına kaydedilir.
3. Controller: Laravel'de controller sınıfları "app/Http/Controllers" klasörü altında yer alır. Örneğin, "WelcomeController" adlı bir controller sınıfı oluşturmak istediğinizde, aşağıdaki komutu kullanabilirsiniz:

   ```php
   php artisan make:controller WelcomeController
   ```

   Bu komut, "WelcomeController" adlı bir controller sınıfı oluşturacak ve bu sınıfın "app/Http/Controllers" klasöründe yer almasını sağlayacaktır. Controller sınıfı, istekleri işlemek için kullanılır. Örneğin, aşağıdaki kod, "WelcomeController" s


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.layraweb.com.tr/merhaba/php-tarafi/konular/framework/mvc-tasarim-deseni.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
