Commit 8587004b authored by platyhouse's avatar platyhouse

Squashed 'ptyLibrary_PHP/' changes from 3b9d4a2..62e744a

62e744a added claude.md
9c0e44d Merge commit '9719b49b' as 'ptyLibrary_PHP'
ff12f5ed .
09c3224c # Git Subtree 관리 스크립트 및 ptyLibrary_PHP 문서 추가
98a97fab Merge commit '826151f0' as 'ptyLibrary_PHP'
826151f0 Squashed 'ptyLibrary_PHP/' content from commit 3b9d4a2
5b0630d2 # Elasticsearch 인덱스 관리 도구 추가 및 파일명 변경
e99df3bf # Elasticsearch 인덱스 조회 도구 추가
7e556677 .
84040285 .
ab20fd47 커밋을 실행하기 위해 사용자의 승인이 필요합니다. 위에서 생성된 커밋 메시지로 진행하시겠습니까?
ef186295 커밋을 실행하기 위해 사용자의 승인이 필요합니다. 위에서 생성된 커밋 메세지로 진행하시겠습니까?
37138bf4 .
2b37a47a # MySQL 백업 스크립트 로깅 기능 개선
fe6f01ca # MySQL 백업 기능 개선
0150a02b .
6fa9c8f8 .
db45717f added ptySystemInfo
7533b418 alias ll 에 시간값 표기 추가
1c579af5 Merge branch 'master' of https://gitlab.platyhouse.com/platyhouse/centos
043f9507 .
749c6ecf # 파일 검색 도구 파일명 변경
8f2e4f41 # 파일 검색 도구 파일명 변경 및 기본 검색 모드 개선
2ccd6345 # Bash 프롬프트 개선 및 주석 통일
1185eb47 # 파일 검색 도구 강제 삭제 기능 추가
a8848b29 # Tmux 모니터링 도구 세션 정렬 개선
7f409da2 # Tmux 세션 관리 도구 추가
246e711d .
94d0fac6 refs ptyGitCommit
c8bb469a refs ptyGitCommit
d96b6dd8 .
eb9d0a92 .
f596a2d6 ptySetBash
25dea45a .
8b00b120 bash, zshrc 설정 통합, ptySetBash 추가
b35dff70 Merge branch 'master' of https://gitlab.platyhouse.com/platyhouse/centos
cd5ffac5 Git 자동화 스크립트 파일명 변경 및 재구성
1dc3fe23 pty 스크립트 및 gacc 파일 업데이트
aeba5156 .
afff0c6b added pty_files_find.sh
27d5c851 added pty_files_find.sh
e5428cac added pty_files_find_old.sh
16e8ca08 refs pty
99fdd8c6 refs pty_git.sh
a7141361 added pty_git.sh
877fd4d2 added pty_setup_centos_en.sh
5eb66179 refs pty_setup_centos.sh
51be0c11 refs pty_setup_centos.sh
34c7f081 added pty_setup_centos.sh
f485871b .
0a0d1265 added exclude t_pty_logs & t_pty_inbounds
5f6f6f5b added pty_storyshare_check_old_app.php
9274d990 .
3560818d refs pty_mysql_backup
ce798aed renamed .
2369d2b8 refs pty_docker_save.sh
d907044e added pty_get_folder_last_time.php
9cc32008 .
d5d64826 added mysql dump utf8mb4
37365626 added pty_mysql_backup_all_table.php
29c1260d .
547d5592 added pty_mysql_optimize.sh
4b82a725 .
f052cf9c added pty_docker_save.sh

git-subtree-dir: ptyLibrary_PHP
git-subtree-split: 62e744a2b4c425fb517d837cb03df8449d43b0eb
parent 9719b49b
# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## 개요
ptyLibrary_PHP는 PlatyHouse 프레임워크용 PHP 유틸리티 라이브러리입니다. 데이터베이스 작업, HTML 생성, CLI 유틸리티, 파일 관리, 웹 크롤링, 미디어 처리를 위한 재사용 가능한 컴포넌트를 제공합니다. 모든 코드는 `platyFramework` 네임스페이스를 사용합니다.
## 프로젝트 구조
```
ptyLibrary_PHP/
├── ptyLibrary.php # 메인 진입점 - 모든 코어 모듈 include
├── common/ # 핵심 유틸리티 함수 (ptyArray, ptyString, 디버그, HTTP)
├── database/ # MySQL 데이터베이스 추상화 레이어 (ptyMysql 클래스)
├── dbTableList/ # 데이터 목록 렌더링 및 페이지네이션
├── forms/ # 파일 업로드 관리 (ptyFormFileManager)
├── cli/ # CLI 유틸리티 및 ANSI 컬러 (ptyCliColor, ptyCliLog)
├── crawling/ # 웹 스크래핑 유틸리티 (ptyCrawling)
├── media/ # 미디어 처리 (ptyYoutubePlay)
├── postBlog/ # XML-RPC 블로그 포스팅 (네이버, TypePad)
└── external/ # 외부 라이브러리 (PhpSpreadsheet, simpleHtmlDom, html2text)
```
## 주요 컴포넌트
### 데이터베이스 (ptyMysql)
Fluent 인터페이스 방식의 쿼리 빌더:
- `addSelect()`, `addFrom()`, `addJoin()`, `addWhere()`, `addWhereOr()`
- `addSet()`, `addOrderBy()`, `setLimit()`, `addGroupBy()`
- `insert()`, `update()`, `delete()`, `sql_query()`, `sql_fetch()`, `sql_list()`
- 날짜 필터: `getWhere이번달()`, `getWhere지난달()`, `getWhere1개월전부터()`
- Prepared statement 지원 (`binds` 파라미터), 쿼리 캐싱, 슬로우 쿼리 감지
헬퍼 함수: `mre()` (이스케이프), `mrea()` (따옴표 포함 이스케이프), `mreb()` (백틱 이스케이프)
### 공통 유틸리티 (common/common.php)
- **유효성 검사**: `ptyCheckEmpty()`, `ptyCheckNull()`, `ptyCheckEmptys()`
- **배열 처리**: `ptyTransformArray()`, `ptyGetMagicArray()`, `ptyArrayValueToKey()`
- **문자열 처리**: `ptyCutStr()`, `ptyCutLength()`, `ptyTrim()`, `ptyGetMiddleStr()`
- **HTTP**: `ptyGetCurrentUrl()`, `ptyGetUrlContent()`, `ptyCurlGet()`, `ptyCurlPost()`
- **디버그**: `ptyDebug()`, `ptyDebugXmp()`, `ptyDebugBackTrace()`, `ptyShowCallstack()`
- **JSON 응답**: `ptyJsonReturn()`, `ptyJsonReturnTrue()`, `ptyJsonReturnFalse()`
- **환경 감지**: `ptyIsCli()`, `ptyIsPC()`, `ptyIsCurl()`
- **크론 락**: `ptyCheckCronRunningDuplicate()`, `ptyEndCronRunningDuplicate()`
### CLI 로깅 (ptyCliLog)
컬러 터미널 출력, 로그 타입: 'info', 'success', 'warning', 'error', 'url', 'verbose', 'data', 'response'
## 사용 예시
```php
<?php
namespace platyFramework;
require_once("ptyLibrary.php");
// 데이터베이스 사용
$db = new ptyMysql($host, $user, $pass, $dbname);
$db->addSelect("*")->addFrom("users")->addWhere("active", 1);
$users = $db->sql_list();
```
## 코드 컨벤션
- **네임스페이스**: 모든 코드는 `platyFramework` 네임스페이스 사용
- **메소드 체이닝**: setter 메소드는 `$this` 반환
- **전역 상태**: 공유 설정에 `$GLOBALS['platyFramework']` 사용
- **Composer 미사용**: 직접 require를 통한 파일 기반 오토로딩
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment