저는 초보자입니다. 공부 중에 이해가 안 되는 부분도 있고 검색도 쉽지 않아서 여러분들께 물어보려고 여기에 보냈습니다.
모든 답변과 도움에 미리 감사드립니다.
제목 그대로
<code>目前有 a.php b.php c.php 三个文件 </code>
a.php 의사 코드는 다음과 같습니다.
<code><?php function say($key,$val){ global $array; $array[$key]=$val; extract($array); } function write($name){ include_once($name.".php"); } $action = $_GET['a'];//假设当前 url: a.php?a=b include_once($action.".php"); $action();</code></code>
b.php 코드는 다음과 같습니다
<code><?php function b(){ say("str","thinks"); write("c"); }</code></code>
c.php
<code><?php var_dump($str);</code></code>
달성해야 할 목표는 C.PHP 파일에서 변수 값을 직접 읽을 수 있다는 것입니다.
일반적인 로직은 위와 같습니다. 그리고 개인적으로는 이 부분이 프레임워크의 할당/표시와 유사하다고 생각하는데, 어떻게 구현해야 할지 모르겠습니다.
위 코드는 오류를 보고합니다: Notice: Undefined variable: str
저에게 조언(또는 글쓰기 습관 등)을 주실 수 있으면 좋겠습니다.
감사합니다.
답글 내용:
저는 초보자입니다. 공부 중에 이해가 안 되는 부분도 있고 검색도 쉽지 않아서 여러분들께 물어보려고 여기에 보냈습니다.
모든 답변과 도움에 미리 감사드립니다.
제목 그대로
<code>目前有 a.php b.php c.php 三个文件 </code>
a.php 의사 코드는 다음과 같습니다.
<code><?php function say($key,$val){ global $array; $array[$key]=$val; extract($array); } function write($name){ include_once($name.".php"); } $action = $_GET['a'];//假设当前 url: a.php?a=b include_once($action.".php"); $action();</code></code>
b.php 코드는 다음과 같습니다
<code><?php function b(){ say("str","thinks"); write("c"); }</code></code>
c.php
<code><?php var_dump($str);</code></code>
달성해야 할 목표는 C.PHP 파일에서 변수 값을 직접 읽을 수 있다는 것입니다.
일반적인 로직은 위와 같습니다. 그리고 개인적으로는 이 부분이 프레임워크의 할당/표시와 유사하다고 생각하는데, 어떻게 구현해야 할지 모르겠습니다.
위 코드는 오류를 보고합니다: Notice: Undefined variable: str
저에게 조언(또는 글쓰기 습관 등)을 주실 수 있으면 좋겠습니다.
감사합니다.
global $array;
은 $array의 범위만 수정하지만 extract($array);
은 함수 내에서 실행되므로 $str의 범위는 여전히 함수 내에 있습니다.
'개인적으로는 이 부분이 프레임워크에 할당/표시하는 것과 비슷하다고 생각합니다'와 '하지만 구현 방법을 모르겠습니다'라고 말씀하신 두 문장은 모르신다면 모순입니다. 어떻게 구현하면 이 부분이 프레임워크의 할당/표시와 유사하다고 생각하는 이유는 무엇입니까?
클래스를 사용하여 작성하면 예제는 동일합니다. 세 개의 파일을 별도로 정의할 필요가 없으며 사용하는 기능은 객체 지향 방식으로 잘 생각하지 못한다는 것을 보여줍니다. , 그리고 당신의 걸음은 안정적이지 않습니다. 우리가 당신에게 스프린트 기술에 대해 말하는 것은 확실히 의미가 없습니다.
PHP
의 모든 변수에는 범위가 있습니다. 프레임워크에서 assign/display
및 기타 양식을 사용하여 볼 수 있는 템플릿 엔진은 모두 extract
출력 변수와 include
가져오기 템플릿 파일을 동일한 파일에 넣습니다. 함수를 사용하는 경우에만 변수 범위가 일관될 수 있으며 가져온 파일에서 변수 값을 얻을 수 있습니다. 작성 방법에 관해서는 두 작업을 서로 다른 기능으로 분할하면 물론 서로 액세스할 수 없습니다. c.php
에서 변수 값을 얻고 싶다고 말하지 마세요. say("str","thinks");
바로 다음에 변수 값을 얻을 수는 없습니다.
당신은 함수의 전역 및 내부 변수 범위 문제를 제대로 이해하지 못한 것 같습니다. 개념이나 사용법을 다시 한번 확인해 보시는 걸 추천드려요!
귀하의 생각에 따르면 var_dump($str);의 $str은 extract($array);의 매개변수 'str'입니다. 실제로 이때 var_dump가 얻으려는 것은 기능을 말해요.
당신이 하는 일은 다음과 같습니다.
<code>function a(){ $str = '123'; } a(); var_dump($str);</code>
$str을(를) 얻을 수 없습니다.

phpsessionscanstorestrings, 숫자, 배열 및 객체 1.Strings : TextDatalikeUsernames.2.numbers : integorfloatsforcounters.3.arrays : listslikeshoppingcarts.4.objects : complexStructuresThatareserialized.

세션 재생은 세션 고정 공격의 경우 사용자가 민감한 작업을 수행 할 때 새 세션 ID를 생성하고 이전 ID를 무효화하는 것을 말합니다. 구현 단계에는 다음이 포함됩니다. 1. 민감한 작업 감지, 2. 새 세션 ID 생성, 3. 오래된 세션 ID 파괴, 4. 사용자 측 세션 정보 업데이트.

PHP 세션은 응용 프로그램 성능에 큰 영향을 미칩니다. 최적화 방법은 다음과 같습니다. 1. 데이터베이스를 사용하여 세션 데이터를 저장하여 응답 속도를 향상시킵니다. 2. 세션 데이터 사용을 줄이고 필요한 정보 만 저장하십시오. 3. 비 차단 세션 프로세서를 사용하여 동시성 기능을 향상시킵니다. 4. 사용자 경험과 서버 부담의 균형을 맞추기 위해 세션 만료 시간을 조정하십시오. 5. 영구 세션을 사용하여 데이터 읽기 및 쓰기 시간의 수를 줄입니다.

phpsessionsareser-side, whilecookiesareclient-side.1) sessions stessoredataontheserver, andhandlargerdata.2) cookiesstoredataonthecure, andlimitedinsize.usesessionsforsensitivestataondcookiesfornon-sensistive, client-sensation.

phpidifiesauser의 sssessionusessessioncookiesandssessionids.1) whensession_start () iscalled, phpgeneratesauniquessessionStoredInacookienamedPhpsSessIdonSeuser 'sbrowser.2) thisidallowsphptoretrievessessionDataTromServer.

PHP 세션의 보안은 다음 측정을 통해 달성 할 수 있습니다. 1. Session_REGENEREAT_ID ()를 사용하여 사용자가 로그인하거나 중요한 작업 일 때 세션 ID를 재생합니다. 2. HTTPS 프로토콜을 통해 전송 세션 ID를 암호화합니다. 3. 세션 _save_path ()를 사용하여 세션 데이터를 저장하고 권한을 올바르게 설정할 보안 디렉토리를 지정하십시오.

phpsessionfilesarestoredInTheRectorySpecifiedBysession.save_path, 일반적으로/tmponunix-likesystemsorc : \ windows \ temponwindows.tocustomizethis : 1) austession_save_path () toSetacustomDirectory, verlyTeCustory-swritation;


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기
