Skip to content

Commit 7f4b739

Browse files
authored
Merge branch '5.x' into docs-add-return-types
2 parents f356205 + 9379e73 commit 7f4b739

File tree

9 files changed

+625
-189
lines changed

9 files changed

+625
-189
lines changed

.github/cspell.json

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
{
2+
"version": "0.2",
3+
"language": "en",
4+
"caseSensitive": false,
5+
"words": [
6+
"CakePHP",
7+
"VitePress",
8+
"php",
9+
"datetime",
10+
"varchar",
11+
"postgresql",
12+
"mysql",
13+
"sqlite",
14+
"webroot",
15+
"csrf",
16+
"xss",
17+
"cakephp",
18+
"bake",
19+
"phinx",
20+
"hasher",
21+
"middlewares",
22+
"namespaced",
23+
"phpunit",
24+
"composable",
25+
"autowiring",
26+
"stringable",
27+
"arrayable",
28+
"timestampable",
29+
"paginator",
30+
"Enqueue",
31+
"dequeue",
32+
"nullable",
33+
"accessor",
34+
"mutator",
35+
"minphpversion",
36+
"phpversion",
37+
"XAMPP",
38+
"WAMP",
39+
"MAMP",
40+
"controllername",
41+
"actionname",
42+
"Datamapper",
43+
"webservices",
44+
"nginx",
45+
"apache",
46+
"httpd",
47+
"lighttpd",
48+
"mbstring",
49+
"simplexml",
50+
"Laragon",
51+
"composer",
52+
"phar",
53+
"paginate",
54+
"startup",
55+
"endfor",
56+
"endwhile",
57+
"sidebar",
58+
"blocks",
59+
"rewrite",
60+
"before",
61+
"called",
62+
"sites",
63+
"example",
64+
"Classes",
65+
"Redirect",
66+
"Layout"
67+
],
68+
"ignoreRegExpList": [
69+
"\\$[a-zA-Z_][a-zA-Z0-9_]*",
70+
"[a-zA-Z]+::[a-zA-Z]+",
71+
"<[^>]+>",
72+
"`[^`]+`",
73+
"```[\\s\\S]*?```",
74+
"\\b[A-Z][a-z]+(?:[A-Z][a-z]+)+\\b",
75+
"\\b[a-z]+_[a-z_]+\\b",
76+
"\\bhttps?:\\/\\/[^\\s]+",
77+
"\\[[a-z]\\][a-z]+",
78+
"\\b[A-Z][a-z]+\\b",
79+
"\\b(true|false|null|while|for|if|else)\\b"
80+
],
81+
"languageSettings": [
82+
{
83+
"languageId": "*",
84+
"locale": "en",
85+
"dictionaries": ["en", "softwareTerms", "php"]
86+
},
87+
{
88+
"languageId": "*",
89+
"locale": "ja",
90+
"allowCompoundWords": true
91+
}
92+
],
93+
"overrides": [
94+
{
95+
"filename": "**/docs/ja/**/*.md",
96+
"language": "ja",
97+
"ignoreRegExpList": [
98+
"[\\p{Script=Hiragana}\\p{Script=Katakana}\\p{Script=Han}]+"
99+
]
100+
}
101+
],
102+
"ignorePaths": [
103+
"node_modules/**",
104+
".temp/**",
105+
"dist/**",
106+
"**/*.min.js",
107+
"**/*.lock"
108+
]
109+
}

.github/markdownlint.json

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
{
2+
"default": true,
3+
"heading-increment": false,
4+
"no-hard-tabs": false,
5+
"no-multiple-blanks": false,
6+
"line-length": false,
7+
"commands-show-output": false,
8+
"blanks-around-headings": false,
9+
"no-duplicate-heading": false,
10+
"single-h1": false,
11+
"no-trailing-punctuation": false,
12+
"no-blanks-blockquote": false,
13+
"list-marker-space": false,
14+
"blanks-around-fences": false,
15+
"blanks-around-lists": false,
16+
"no-inline-html": {
17+
"allowed_elements": [
18+
"Badge",
19+
"div",
20+
"span",
21+
"br",
22+
"style",
23+
"details",
24+
"summary",
25+
"table",
26+
"thead",
27+
"tbody",
28+
"tr",
29+
"th",
30+
"td",
31+
"img",
32+
"a",
33+
"svg",
34+
"path",
35+
"figure",
36+
"p"
37+
]
38+
},
39+
"no-bare-urls": false,
40+
"fenced-code-language": false,
41+
"first-line-heading": false,
42+
"code-block-style": false,
43+
"single-trailing-newline": false,
44+
"link-fragments": false,
45+
"table-pipe-style": false,
46+
"table-column-count": false,
47+
"emphasis-style": false,
48+
"table-column-style": false,
49+
"descriptive-link-text": false
50+
}
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
name: Documentation Validation
2+
3+
on:
4+
pull_request:
5+
paths:
6+
- 'docs/**'
7+
- '.github/**'
8+
- 'toc_*.json'
9+
- 'config.js'
10+
11+
jobs:
12+
js-lint:
13+
name: Validate JavaScript Files
14+
runs-on: ubuntu-latest
15+
16+
steps:
17+
- name: Checkout code
18+
uses: actions/checkout@v5
19+
20+
- name: Validate config.js syntax
21+
run: node --check config.js
22+
23+
json-lint:
24+
name: Validate JSON Files
25+
runs-on: ubuntu-latest
26+
27+
steps:
28+
- name: Checkout code
29+
uses: actions/checkout@v5
30+
31+
- name: Validate JSON syntax
32+
run: |
33+
for file in toc_*.json; do
34+
if ! jq empty "$file" 2>/dev/null; then
35+
echo "Invalid JSON: $file"
36+
exit 1
37+
fi
38+
echo "✅ Valid: $file"
39+
done
40+
41+
markdown-lint:
42+
name: Lint Markdown
43+
runs-on: ubuntu-latest
44+
45+
steps:
46+
- name: Checkout code
47+
uses: actions/checkout@v5
48+
49+
- name: Lint markdown files
50+
uses: articulate/actions-markdownlint@v1
51+
with:
52+
config: .github/markdownlint.json
53+
files: 'docs/**/*.md'
54+
ignore: 'node_modules'
55+
56+
spell-check:
57+
name: Spell Check
58+
runs-on: ubuntu-latest
59+
60+
steps:
61+
- name: Checkout code
62+
uses: actions/checkout@v5
63+
64+
- name: Check spelling
65+
uses: streetsidesoftware/cspell-action@v5
66+
with:
67+
files: 'docs/**/*.md'
68+
config: '.github/cspell.json'
69+
incremental_files_only: true

docs/en/quickstart.md

Lines changed: 71 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,52 @@
11
# Quick Start Guide
22

33
The best way to experience and learn CakePHP is to sit down and build something.
4-
To start off we'll build a simple Content Management application.
4+
In this tutorial, we'll build a simple **Content Management System (CMS)** application that demonstrates the core features of CakePHP.
5+
6+
## What You'll Build
7+
8+
By the end of this tutorial, you'll have a fully functional CMS with:
9+
10+
-**User Authentication** - Secure login system
11+
-**Article Management** - Create, read, update, and delete articles
12+
-**Tag System** - Organize content with tags
13+
-**Database Relations** - Users, articles, and tags working together
14+
-**Form Validation** - Input validation and error handling
15+
-**Clean URLs** - SEO-friendly slug-based routing
16+
17+
::: tip Estimated Time
18+
This tutorial takes approximately **45-60 minutes** to complete from start to finish.
19+
:::
20+
21+
## What You'll Learn
22+
23+
This hands-on tutorial covers:
24+
25+
- Setting up a CakePHP application
26+
- Database migrations and schema management
27+
- Creating models with the ORM
28+
- Building controllers and actions
29+
- Rendering views and templates
30+
- Form handling and validation
31+
- Authentication and authorization
32+
- Working with associations (relationships)
33+
34+
::: details Prerequisites
35+
Before starting, make sure you have:
36+
37+
| Requirement | Version |
38+
|-------------|---------|
39+
| PHP | |minphpversion| - |phpversion| |
40+
| Composer | Latest |
41+
| Database | MySQL 5.7+, PostgreSQL 9.6+, or SQLite 3 |
42+
| Web Server | PHP built-in server (for development) |
43+
44+
**Basic PHP knowledge is recommended** but not strictly required.
45+
:::
46+
47+
## Getting Started
48+
49+
Let's begin by installing CakePHP and setting up your development environment.
550

651
<!--@include: tutorials-and-examples/cms/installation.md-->
752

@@ -10,3 +55,28 @@ To start off we'll build a simple Content Management application.
1055
<!--@include: tutorials-and-examples/cms/articles-model.md-->
1156

1257
<!--@include: tutorials-and-examples/cms/articles-controller.md-->
58+
59+
## What's Next?
60+
61+
🎉 **Congratulations!** You've built your first CakePHP application and learned the fundamentals of the framework.
62+
63+
### Continue Building
64+
65+
Ready to enhance your CMS? Here are some features you could add next:
66+
67+
- **[Authentication & Authorization](../tutorials-and-examples/cms/authentication)** - Secure your application with user login
68+
- **[Tags & Categories](../tutorials-and-examples/cms/tags-and-users)** - Add tagging functionality to organize articles
69+
70+
### Explore CakePHP Features
71+
72+
Dive deeper into CakePHP's powerful features:
73+
74+
- **[ORM & Database](../orm)** - Advanced queries, associations, and behaviors
75+
- **[Validation](../core-libraries/validation)** - Complex validation rules and custom validators
76+
- **[Security](../security)** - CSRF protection, encryption, and security best practices
77+
- **[Testing](../development/testing)** - Write unit and integration tests
78+
- **[Deployment](../deployment)** - Deploy your application to production
79+
80+
### Get Help & Connect
81+
82+
<!--@include: index.md#get-help-->

0 commit comments

Comments
 (0)