Skip to content

Commit cf0e87d

Browse files
authored
Merge pull request #8557 from kenjis/docs-concepts-goals.rst
docs: restore goals.rst from 3.0 user guide
2 parents ce3750c + 98465f6 commit cf0e87d

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
##############################
2+
Design and Architectural Goals
3+
##############################
4+
5+
Our goal for CodeIgniter is maximum performance, capability, and
6+
flexibility in the smallest, lightest possible package.
7+
8+
To meet this goal we are committed to benchmarking, re-factoring, and
9+
simplifying at every step of the development process, rejecting anything
10+
that doesn't further the stated objective.
11+
12+
From a technical and architectural standpoint, CodeIgniter was created
13+
with the following objectives:
14+
15+
- **Dynamic Instantiation.** In CodeIgniter, components are loaded and
16+
routines executed only when requested, rather than globally. No
17+
assumptions are made by the system regarding what may be needed
18+
beyond the minimal core resources, so the system is very light-weight
19+
by default. The events, as triggered by the HTTP request, and the
20+
controllers and views you design will determine what is invoked.
21+
- **Loose Coupling.** Coupling is the degree to which components of a
22+
system rely on each other. The less components depend on each other
23+
the more reusable and flexible the system becomes. Our goal was a
24+
very loosely coupled system.
25+
- **Component Singularity.** Singularity is the degree to which
26+
components have a narrowly focused purpose. In CodeIgniter, each
27+
class and its functions are highly autonomous in order to allow
28+
maximum usefulness.
29+
30+
CodeIgniter is a dynamically instantiated, loosely coupled system with
31+
high component singularity. It strives for simplicity, flexibility, and
32+
high performance in a small footprint package.

user_guide_src/source/concepts/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,4 @@ The following pages describe the architectural concepts behind CodeIgniter4:
1414
factories
1515
http
1616
security
17+
goals

0 commit comments

Comments
 (0)