Skip to content

Commit 5403065

Browse files
committed
welcome page
1 parent e28b72b commit 5403065

File tree

12 files changed

+351
-10
lines changed

12 files changed

+351
-10
lines changed

Dockerfile

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
FROM ubuntu:22.04
2+
3+
RUN apt-get update && apt-get upgrade -y
4+
5+
RUN apt-get update && apt-get install -y software-properties-common
6+
7+
RUN add-apt-repository ppa:ondrej/php -y
8+
9+
RUN apt-get update && apt-get install -y nginx php8.1 php8.1-fpm php8.1-mysql \
10+
php8.1-gd \
11+
php8.1-cli \
12+
php8.1-common \
13+
php8.1-opcache \
14+
php8.1-mbstring \
15+
php8.1-zip \
16+
php8.1-xml \
17+
php8.1-intl \
18+
php8.1-curl \
19+
php8.1-soap \
20+
php8.1-fileinfo \
21+
php8.1-sockets
22+
23+
# 80 ve 443 numaralı portu aç
24+
EXPOSE 80
25+
EXPOSE 443
26+
27+
# NGINX ve PHP-FPM'yi başlat
28+
CMD service php8.1-fpm start && nginx -g "daemon off;"

README.md

+21-2
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,13 @@ If you need more; You can simply integrate any Init PHP library or a different l
1616

1717
```
1818
composer create-project initphp/framework3 MyProject
19+
```
20+
21+
```
22+
cp ./.env.example ./.env
23+
```
24+
25+
```
1926
php init key:generate
2027
```
2128

@@ -33,9 +40,21 @@ To see the available console commands;
3340
php init list
3441
```
3542

36-
## To-Do
43+
## Docker
44+
45+
Docker allows you to set up your working environment and conduct your work from there. However, the Docker configuration is set up for a development environment, not for a production environment. You will need to appropriately modify the configurations for use in a production environment.
46+
47+
```
48+
docker-compose build
49+
docker-compose up -d
50+
```
51+
52+
If the process has been successfully completed, your project will be waiting for you at the following address.
53+
54+
```
55+
http://localhost:8000
56+
```
3757

38-
-[ ] Detailed documentation or Wiki will be prepared.
3958

4059
## Getting Help
4160

composer.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,8 @@
4646
"initphp/logger": "^1.0",
4747
"initphp/console": "^2.0",
4848
"initphp/upload": "^1.0",
49-
"filp/whoops": "^2.15"
49+
"filp/whoops": "^2.15",
50+
"initphp/performance-meter": "^1.0"
5051
},
5152
"require-dev": {
5253
"symfony/var-dumper": "^6.4"

docker-compose.yml

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
version: '3.8'
2+
3+
services:
4+
initphp:
5+
build:
6+
context: .
7+
dockerfile: Dockerfile
8+
ports:
9+
- 8000:80
10+
- 443:443
11+
volumes:
12+
- ./system/Docker/nginx/nginx.conf:/etc/nginx/nginx.conf
13+
- ./system/Docker/nginx/sites-available/default.conf:/etc/nginx/sites-available/default
14+
- ./system/Docker/php-fpm/php-fpm.conf:/etc/php/8.1/fpm/php-fpm.conf
15+
- ./:/var/www/html/
16+
container_name: 'initphp'
17+
working_dir: /var/www/html
18+
restart: always
19+
networks:
20+
- initphpnet
21+
22+
networks:
23+
initphpnet:

resources/views/welcome.php

+74-6
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,81 @@
1-
<!doctype html>
1+
<!DOCTYPE html>
22
<html lang="en">
33
<head>
44
<meta charset="UTF-8">
5-
<meta name="viewport"
6-
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
7-
<meta http-equiv="X-UA-Compatible" content="ie=edge">
8-
<title>Document</title>
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6+
<title>InitPHP Framework 3</title>
7+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css">
8+
<style>
9+
html, body {
10+
height: 100%;
11+
}
12+
#content {
13+
min-height: calc(100vh - 56px);
14+
}
15+
footer {
16+
height: 56px;
17+
}
18+
</style>
919
</head>
1020
<body>
11-
21+
<div id="content">
22+
<div class="container text-center">
23+
<div class="row mb-4 pt-2">
24+
<div class="col">
25+
<div class="p-2">
26+
<h1>InitPHP Framework</h1>
27+
</div>
28+
</div>
29+
</div>
30+
<div class="row">
31+
<div class="col-md-6 mb-4">
32+
<div class="h-100 card p-4">
33+
<div class="card-body">
34+
<img src="https://initphp.org/logos/initphp-icon-700.png" alt="initphp" class="rounded image-fluid" height="220" width="220" />
35+
<h5 class="card-title">InitPHP</h5>
36+
<h6 class="card-subtitle mb-2 text-muted">Open Source Software Group</h6>
37+
<p class="card-text">InitPHP is a software group that develops open-source PHP libraries and publishes them under the MIT license.</p>
38+
<a href="https://github.com/InitPHP" target="_blank" class="card-link">GitHub</a>
39+
<a href="https://initphp.org" target="_blank" class="card-link">Web Site</a>
40+
</div>
41+
</div>
42+
</div>
43+
<div class="col-md-6 mb-4">
44+
<div class="h-100 card p-4">
45+
<div class="card-body">
46+
<img src="https://initphp.org/logos/initorm-icon-profile.png" alt="initphp" class="rounded image-fluid" height="220" width="220" />
47+
<h5 class="card-title">InitORM</h5>
48+
<h6 class="card-subtitle mb-2 text-muted">QueryBuilder + DBAL + ORM</h6>
49+
<p class="card-text">InitORM is a free and powerful ORM library, developed as open source and distributed under the MIT license.</p>
50+
<a href="https://github.com/InitORM" target="_blank" class="card-link">GitHub</a>
51+
</div>
52+
</div>
53+
</div>
54+
<div class="col-md-12 mb-4">
55+
<figure class="text-end">
56+
<blockquote class="blockquote">
57+
<p>Knowledge is Power, It Grows as You Share!</p>
58+
</blockquote>
59+
<figcaption class="blockquote-footer">
60+
Software Developer <cite title="Muhammet ŞAFAK">Muhammet ŞAFAK</cite>
61+
</figcaption>
62+
</figure>
63+
</div>
64+
</div>
65+
</div>
66+
</div>
67+
<footer class="container-fluid border-top pt-3">
68+
<div class="container">
69+
<div class="col-sm-6 text-start float-start">
70+
<p>Copyright &copy; 2022 - <?= date("Y"); ?></p>
71+
</div>
72+
<div class="col-sm-6 text-end float-end">
73+
<p>This page was created in <?= elapsed_time(); ?> seconds using <?= memory_usage(); ?> of memory</p>
74+
</div>
75+
</div>
76+
</footer>
77+
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
78+
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
79+
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
1280
</body>
1381
</html>

system/Application.php

+3
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
use InitPHP\Framework\Providers\Exceptions\ProviderLoadException;
2222
use InitPHP\Framework\Providers\Interfaces\ProviderInterface;
2323
use InitPHP\HTTP\Facade\Emitter;
24+
use InitPHP\PerformanceMeter\PerformanceMeter;
2425

2526

2627
class Application
@@ -84,6 +85,7 @@ public function cliServer(): self
8485
*/
8586
public function boot(): self
8687
{
88+
PerformanceMeter::setPointer('framework_start');
8789
foreach ($this->providers as $provider) {
8890
$providerObj = ContainerDependency::get($provider);
8991
if ($providerObj instanceof ProviderInterface) {
@@ -110,6 +112,7 @@ public function boot(): self
110112

111113
public function run(): void
112114
{
115+
PerformanceMeter::setPointer('framework_end');
113116
switch ($this->appType) {
114117
case self::CLI_APP:
115118
Base::getProperty('console')->run();
+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
-----BEGIN CERTIFICATE-----
2+
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
35+
tzQHhm4w8fIrNwk=
36+
-----END CERTIFICATE-----
+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
-----BEGIN PRIVATE KEY-----
2+
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
51+
ulWMIS5JHPQCiDr+L9xpalpFQckJEGs=
52+
-----END PRIVATE KEY-----

system/Docker/nginx/nginx.conf

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
user www-data;
2+
worker_processes auto;
3+
pid /run/nginx.pid;
4+
include /etc/nginx/modules-enabled/*.conf;
5+
6+
events {
7+
worker_connections 768;
8+
# Çoklu işlem desteği için aşağıdaki satırı açabilirsiniz
9+
# multi_accept on;
10+
}
11+
12+
http {
13+
sendfile on;
14+
tcp_nopush on;
15+
tcp_nodelay on;
16+
keepalive_timeout 65;
17+
types_hash_max_size 2048;
18+
19+
include /etc/nginx/mime.types;
20+
default_type application/octet-stream;
21+
22+
access_log /var/log/nginx/access.log;
23+
error_log /var/log/nginx/error.log;
24+
25+
gzip on;
26+
gzip_disable "msie6";
27+
28+
include /etc/nginx/conf.d/*.conf;
29+
include /etc/nginx/sites-enabled/*;
30+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
server {
2+
listen 80;
3+
server_name localhost;
4+
5+
root /var/www/html/public_html;
6+
index index.php index.html index.htm;
7+
8+
location / {
9+
try_files $uri $uri/ /index.php?$args;
10+
}
11+
12+
location ~ \.php$ {
13+
include fastcgi_params;
14+
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
15+
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
16+
fastcgi_index index.php;
17+
}
18+
}
19+
20+
server {
21+
listen 443 ssl;
22+
server_name localhost;
23+
24+
root /var/www/html/public_html;
25+
index index.php index.html index.htm;
26+
27+
ssl_certificate /var/www/html/system/Docker/certificates/localhost.crt;
28+
ssl_certificate_key /var/www/html/system/Docker/certificates/localhost.key;
29+
30+
location / {
31+
try_files $uri $uri/ /index.php?$args;
32+
}
33+
34+
location ~ \.php$ {
35+
include fastcgi_params;
36+
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
37+
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
38+
fastcgi_index index.php;
39+
}
40+
}

0 commit comments

Comments
 (0)